Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Masowe operacje na rekordach w bazie
Forum PHP.pl > Forum > PHP
bamboo
Pobierając z bazy rekordy które następnie są wyświetlane jako lista, chciałbym je masowo np. usunąć, jak to zrobić? Normalnie mam umieszczone w ostatniej komórce w wierszu tabeli, linki do stron ze skryptem usuwającym rekord o danym id, ale jak zrobić np. coś takiego gdzie jeszcze dalej byłyby umieszczone checkboxy a pod listą przycisk "USUŃ"... Poprostu niemoge pojąć jak to działa...
maciek258
zapisz w tablicy id rekordow do usuniecia a potem w pętli usun
bamboo
a jak mam sormułować warunek do pętli?
artega
Wystarczy jedno zapytanie i bez pętli.
  1. <?php
  2.  
  3. mysql_query("DELETE FROM rekordy WHERE id IN (".implode(",", $_POST['ids']).")");
  4.  
  5. ?>


Zakładam, że checkbox'y mają parametr name ustawiony na ids[] i value na identyfikator w bazie.
bamboo
a gdybym miał liste np. użytkowników a na kóncu wiersza byłby lista rozwijana z odpowiedziami TAK i NIE, co by dwało np przywileje administartora... jak zrobić takie coś?
Trobin
Wszystko się opiera na poprawnym sformuowaniu zapytania MySQL. Powiedzmy, że TAK (czyli uprawnienia admina) to 1 a NIE to 0. No i w bazie musisz mieć pole powiedzmy o nazwie 'admin_perm' i tam dwie wartości - 0 lub 1. I jeżeli chcesz zmienić takie uprawnienia to po prostu edytujesz to pole dla wszystkich id użytkowników - coś jak:
  1. <?php
  2. mysql_query("UPDATE users SET admin_perm = '$perm' WHERE id IN (".implode(",", $_POST['ids']).")");
  3. ?>
bamboo
ok, dzięki, niepomyslałem... smile.gif tylko byłbym ci jeszcze bardziej wdzieczny jak bys troche wytłumaczył role funkcji implode w tym zapytaniu smile.gif... aha i chceckboxy maja sie zanywać ids czy ids[]
Trobin
Manual, manual! winksmiley.jpg
  1. <?php
  2. $array = array('lastname', 'email', 'phone');
  3. $comma_separated = implode(",", $array);
  4. echo $comma_separated; // lastname,email,phone
  5. ?>

Implode dodaje " , " do zapytania, bo ja wiadomo wartości w zapytaniach MySQL rozdziela się przecienkiem winksmiley.jpg
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.