Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Usuwanie Poprzez Checkbox
Forum PHP.pl > Forum > Przedszkole
Matimor
Witajcie
Mam pytanie, jak zrobić aby po zaznaczeniu checkbox i kliknięciu zakładki (submit) Usuń, usuwa dany News z bazy danych? Chodzi o to, że mam newsy i obok checkbox, każdy checkbox ma swoją wartość jako ID newsu z bazy, tylko nie wiem jak usunąć za pomocą submitu news :/

Z Góry Dzięki Za Pomoc
piotrooo89
pokaż jak to robisz, musisz pobrać dane, które wysyłasz przez formularz. później już tylko DELETE FROM tabela WHERE id=$_GET['usun_id'].
thek
Ech... Podstawy php i mysql :/
Skoro wiesz jaki id ma być usunięty to do bazy danych wyślij informację o usunięciu wpisu o danym id.
Krokowo wygląda to tak w skrypcie:
1. Czy kliknięto Usuń?
2. Jeśli tak to waliduj numer id.
3. Wykonaj zapytanie z zadanym id w bazie usuwające news.
sadistic_son
Zakładam, że Matimorowi chodzi o zaznaczenie kilku checkboxów naraz i usunięcie wszystkich jednym klikiem w submit.
Jeśli checkboxy generowane są dynamicznie, w takim przypadku checkboxy muszą wyglądać tak:
  1. <input type="checkbox" name="id_newsa[]" value="'.$id.'" />
Ważne są nawiasy kwadratowe [] bo wtedy $_POST[nazwa] będzie tablicą. Następnie usuwanie trzeba przeprowadzić w pętli foreach:
  1. if(isset($_POST['submit_usun']) && isset($_POST['id_newsa'])){
  2. $del=$_POST['id_newsa'];
  3. foreach($del as $id){
  4. $query="DELETE FROM tabela_news WHERE id=$id";
  5. mysql_query($query);
  6. }
  7. }
I to koniec filozofii.
thek
Jeśli więcej niż 1 do usunięcia to lepiej WHERE id IN (lista_id-ków), bo wysyłasz jedno zapytanie do bazy, a nie kilka czy kilkanaście smile.gif Optymalizacja się kłania winksmiley.jpg
Matimor
sadistic_son i o to mi chodziło biggrin.gif Tam samo mam to zrobione tylko nie zrobiłem tego foreach.
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.