26-01-2012, 15:05
Witam wszystkich serdecznie.
Piszę funkcję która umożliwia mi zmianę statusu pozycji w menu z aktywnej na nieaktywną i na odwrót. Problem polega na tym że ta funkcja działa tylko na ostatnio dodanej pozycji.
Poniżej przedstawiam kod
Tak jak pisałem, funkcja działa tylko do ostatnio dodanej pozycji. Proszę o wyjaśnienie dlaczego tak się dzieje oraz co powinienem poprawić
Piszę funkcję która umożliwia mi zmianę statusu pozycji w menu z aktywnej na nieaktywną i na odwrót. Problem polega na tym że ta funkcja działa tylko na ostatnio dodanej pozycji.
Poniżej przedstawiam kod
Kod PHP:
<?php
$wynik = mysql_query("SELECT * FROM menu")
or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
while($r = mysql_fetch_assoc($wynik)) {
$stat = $r['status'];
echo "".$r['tytul']."";
echo "<a href=\"index.php?go=menu&a=status&id={$r['id']}\">";
if ($stat == 1){
echo "<img src=images/stat1.gif > ";
}
else {
echo "<img src=images/stat0.gif > ";
}
echo "</a>";
}
}
$a = trim($_REQUEST['a']);
$id = trim($_GET['id']);
if($a == 'status' and !empty($id)) {
if ($stat == 1) {
mysql_query("UPDATE menu SET status=0 WHERE id='$id'") or die('Błąd zapytania');
header('Location: index.php?go=menu');
}
else {
mysql_query("UPDATE menu SET status=1 WHERE id='$id'")or die('Błąd zapytania');
header('Location: index.php?go=menu');
}
}
?>
Tak jak pisałem, funkcja działa tylko do ostatnio dodanej pozycji. Proszę o wyjaśnienie dlaczego tak się dzieje oraz co powinienem poprawić