Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php + Mysql - kasowanie paru danych naraz
Forum PHP.pl > Forum > Przedszkole
m4tt_pl
  1. <?php
  2.  
  3. include_once("config.php");
  4.  
  5. function connect($dbadress, $username, $password, $dbname){
  6. mysql_connect($dbadress, $username, $password) or
  7.  die ('Nie można się połączy z serwerem baz danych!');
  8. mysql_select_db($dbname) or
  9.  die ('Nie można połączy z bazą danych!');
  10. }
  11.  
  12. connect($dbadress, $username, $password, $dbname);
  13.  
  14.  
  15. if ($usun == 'tak') {
  16. $wynik = mysql_query("DELETE FROM guestbook WHERE id = '$id';");
  17. }
  18.  
  19. $wynik = mysql_query("SELECT * FROM guestbook;") or
  20.  die('Błąd w pytaniu!');
  21.  
  22. echo '<center><form action=msg.php method=get><table border=1><input type="hidden" name="usun" value="tak"><tr><td>Id</td><td>Username</td><td>Topic</td><td>Message</td><td>Ip</td><td>Date</td><td>Usuń?</td>';
  23.  
  24. while($rekord = mysql_fetch_array($wynik)){
  25. $id = $rekord[0];
  26. $username = $rekord[1];
  27. $topic = $rekord[2];
  28. $message = $rekord[3];
  29. $ip = $rekord[4];
  30. $date = $rekord[5];
  31.  
  32. echo '<tr><td>'.$id.'</td><td>'.$username.'</td><td>'.$topic.'</td><td>'.$message.'</td><td>'.$ip.'</td><td>'.$date.'</td><td><input type="checkbox" name="id" value="'.$id.'"></td></tr>';
  33. }
  34. echo '</table><br><input type="submit" value="Wyślij!"></center></form>'
  35.  
  36. ?>


No wiec mam taki formularzyk, wyswietla w tabelce dane i obok daje przyciski checkbox do zazanczania przy kazdej danej, no i jest formularz ktory po wcisnieciu wyslij daje ta sama strone z parametrami get ?usun=tak&id=2 na przyklad no I spoko usuwa sie wpis majacy ID 2, problem jest gdy zaznaczam pare wpisow naraz, wtedy link wyglada tak ?usun=tak&id=2&id=3&id=5 itd itd, jak teraz mam to zrobic zebym mogl usuwac pare wpisow naraz? Z gory dziekuje.
luki100011
Zmień nazwę w formularza pola chexbox z ID na ID[] wtedy otrzymasz dane jako tablicę id[0]=3 id[1]=6 ...itd
Za pomocą pętli wykonaj całą tablicę zmieniając parametr where id = na te z tablicy w celu usunięcia.
Jest też polecenie w mysql że można parametry where id = (2,4,6) podać po przecinku ale nie pamiętam jak to się wpisywało prawidłowo.
Kosmi
Cytat(luki100011 @ 6.02.2007, 07:47:45 ) *
Jest też polecenie w mysql że można parametry where id = (2,4,6) podać po przecinku ale nie pamiętam jak to się wpisywało prawidłowo.


  1. WHERE id IN (2,4,6)
m4tt_pl
Cytat(luki100011 @ 6.02.2007, 07:47:45 ) *
Zmień nazwę w formularza pola chexbox z ID na ID[] wtedy otrzymasz dane jako tablicę id[0]=3 id[1]=6 ...itd
Za pomocą pętli wykonaj całą tablicę zmieniając parametr where id = na te z tablicy w celu usunięcia.
Jest też polecenie w mysql że można parametry where id = (2,4,6) podać po przecinku ale nie pamiętam jak to się wpisywało prawidłowo.


A cos bardziej precyzyjnego bo nie wiem jak to zorbic , tzn tego pogrubionego nie bardzo winksmiley.jpg
Cienki1980
  1. <?php
  2. $ids=$_POST['id'];// odczytujesz z POST'a zaznaczone checkboxy
  3.  
  4. foreach($ids as $k=>$v)
  5. {
  6.  mysql_query("delete from table_name where id='".$v."'");
  7. }
  8. ?>

Pętla foreach wywoła zapytanie delete dla każdego zaznaczone ID.
m4tt_pl
kurde nie rozumeim na jakich zasadach dzialaja te glupie tablice :S eh no ale dzieki za skrypt
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.