Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]usuwanie rekordów z bazy, usuwanie
kinder
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 2
Dołączył: 15.03.2010

Ostrzeżenie: (0%)
-----


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??
Go to the top of the page
+Quote Post
vermis
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


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'].
Go to the top of the page
+Quote Post
kinder
post
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 2
Dołączył: 15.03.2010

Ostrzeżenie: (0%)
-----


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. }

(IMG:style_emoticons/default/czarodziej.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:13