Nechce mi mazat záznamy z MySQL
Dobrý den,
mám následující kódy:
Pro vypsání zátnamů
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td>'.$row['m'].'</td>';
echo '<td>'.$row['s'].'</td>';
echo '<td>'.$row['a'].'°C</td>';
echo '<td>'.$row['y'].' mm</td>';
echo '<td>'.$row['i'].'</td>';
echo '<td>'.$row['ky'].'</td>';
echo '<td><a href="'.$PHP_SELF.'?update=edit&id='.$row["id"].'">editovat</a> | <a href="'.$PHP_SELF.'?v=3&id='.$row["id"].'">smazat</a></td>';
echo '</tr>';
}
a na mazání:
if ( $v == "3" ) {
$DBResult = mysql_query("delete from tabulka where id='$id'") or die (mysql_error());
echo'<meta http-equiv="refresh" content="0;url=indexx.php">';
}
Jenže chyba je v tom, že skript záznam smaže, ale jen jednou. Pak musím ručně v phpMyAdminovi.
Předem děkuji za odpověď.
Nějak jsem přesně nepochopil "co maže jen jednou".
Pokud maže jen jeden záznam a má jich mazat více:
Obecně je rozdíl mezi výsledkem a očekáváním v tom, že příkaz má uvedeno jen jediné id (záznam).
Musí být uvedeny jmenovitě všechna id.
Prostě pokud vyprázdním tabulku v phpMyAdminovi příkazem vyprázdnit, a zadám tam nové hodnoty, mohu smazat ten záznam jen jednou, tedy operaci mazání mohu vykonat jen jednou. Pokud si vyberu později, že chci smazat jiný záznam opět na kliknu na odstranit v mém skriptu a najednou nic neudělá. Povede se to až tehdy, když znovu vyprázdním celou tabulku a zadám nové záznamy..
Jak jsem psal. "potíž" je v dotazu.
Vypiš si dotaz, který se má provést při výmazu:
Z něho bude jasné, proč se tak (ne)děje.
Zřejmě neodpovídá vložené id v proměnné $id, které se má mazat.