Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]usuwanie rekordów z bazy
Forum PHP.pl > Forum > Przedszkole
kinder
Witam mam problem z usunięciem rekordów z bazy. Połaczenie z baza i wybor bazy ok. Mam taki kod:
  1. //wyslanie zapytania do bazy mysql
  2. $wynik = mysql_query("SELECT * FROM ksiazkatelefoniczna;") or
  3. die("Blad w pytaniu");
  4. //wyswietlenie wyniku zapytania
  5. echo "<table cellpading=5 border=1>";
  6. echo "<tr><td><b>Imie</b></td><td><b>Nazwisko</b></td><td><b>Telefon</b></td><td></td></tr>\n";
  7. while ($rekord = mysql_fetch_array($wynik)){
  8. $id = $rekord[0];
  9. $imie = $rekord[1];
  10. $nazwisko = $rekord[2];
  11. $telefon = $rekord[3];
  12. echo "<tr><td>$imie</td><td>$nazwisko</td><td>$telefon</td><td>";
  13. echo "<a href=\"428.php?co=skasuj&id=$id\">skasuj</a></td></tr>\n";
  14.  
  15. }
  16. echo "</table>";
  17.  
  18. if($co == 'skasuj'){
  19. echo "wykonane";
  20. $wynik = mysql_query("DELETE FROM ksiazkatelefoniczna WHERE nr = '$id';")or
  21. die("blad usuwania");
  22. echo "nr id: ".$id;
  23. }

Klikajac na hiperłącze "skasuj" usuwa mi sie ostatni rekord a nie ten co kliknalem. dalem echo "nr id: ".$id i wyswietla mi sie zawsze id ostatniego rekordu.hmmm, dlaczego tak sie dzieje i jak to zrobic poprawnie??
vermis
Zmienna $id którą wstawiasz do zapytania pochodzi z bazy ustawiasz ja w pętli while i zawsze ostatni rekord ją nadpisuje. A powinna pochodzić z $_GET['id'].
kinder
Tak sie dzieje zmienna $id sie nadpisuje , jednak teraz nie wiem jak to powinno wygladac w kodzie...

Wreszcie sie udalo.Powinno byc tak:

  1. if($co == 'skasuj'){
  2. echo "wykonane";
  3. //$wynik = mysql_query("DELETE FROM ksiazkatelefoniczna WHERE nr = '$_GET['id']';")or
  4. //die("blad usuwania");
  5. echo "nr id: ".$_GET['id'];
  6. }

czarodziej.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.