Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Checkbox i usuwanie z bazy
Forum PHP.pl > Forum > PHP
max_mcee
Witam przykładowo mam kilka wyników z bazy i przy każdym chceckbox-a i teraz jak zaznaczę przy jakiejś pozycji checkbox-a i kliknę DELETE to się usunie ta dana pozycja. Jak to zrobić ? smile.gif
Lars
Witam,
Dla każego wyniku robisz checkbox, potem po wysłaniu formularza sprawdzasz czy istnieje zmienna o nazwie takiego checkboxa, a następnie usuwasz wpisy z określonym ID.

To tyle.
Pozdrawiam.
max_mcee
Jak byś to rozpisał kodem ?
Przecież jeśli zaznaczę więcej pozycji, to nie trzeba będzie użyć jakiejś pętli ?
Lars
Z kodu to tyle:
  1. <?php
  2. for($i=1; $i<=10; $i++) {
  3. if(isset($_POST['checkbox_'.$i])) {
  4. mysql_query("DELETE FROM `artykuly` WHERE `id`=".$i);
  5. }
  6. }
  7. ?>


Jakby co - pisałem z palca.
A druga rzecz to to, że chyba oprócz isset() lepiej dodatkowo sprawdzać czy ma wartość 1.

Pozdrawiam.
Tomplus
Nie wiem czy konkretnie oto Ci chodzi, ale to powinno Ci pomóc.
przykładowo są wpisy:
$_POST['id1'] = 1;
$_POST['id2'] = 2;

  1. <?php
  2. foreach($_POST as $key => $value )
  3. @mysql_query("DELETE FROM `tabela` WHERE `id`='{$value}';");
  4. ?>
blue_boy
żeby nie wykonywać tej samej operacji 100 razy możesz zawsze użyć polecenia:
  1. DELETE FROM tabela WHERE id IN(id1, id2, id3... )
Lars
Cytat(blue_boy @ 31.07.2008, 20:09:49 ) *
żeby nie wykonuwać tej samej operacji 100 razy możesz zawsze użyć polecenia:
  1. DELETE FROM tabela WHERE id IN(id1, id2, id3... )


no dobrze - ale to komplikuje wykonanie całości.

[edit] ile ludzi tyle rozwiązań winksmiley.jpg
blue_boy
masz rację, w takim przypadku stosujesz pętlę do utworzenia samego zapytania, a raz tylko wysyłasz je do bazy
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.