Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] checkbox a usuwanie rekordu
Forum PHP.pl > Forum > Przedszkole
!*!
odczytujke rekordy tak:

  1. <?php
  2. while ($wiersz = mysql_fetch_assoc($quer)) 
  3. {
  4.  
  5.  
  6. $i++;
  7.  
  8.  echo '<div class="pok"><input type="checkbox" name="'.$i.'" /><a href="#">'.$wiersz['login'].'</a></div>';
  9. echo '<div class="pok2"> | <a href="0005&amp;num='.$i.'">usuń</a></div>';
  10. ?>


Każda wiadomość ma nadawany numer od 1 w góre, wiadomo... klikam w usuń, przekierowanie mam do:

  1. <?php
  2. $num=$_GET['num'];
  3. $ids=$_SESSION['wiersze'][$num]['id_wiad'];
  4.  
  5.  $zapytanie = "DELETE FROM `mail` WHERE `id_mail`='".$ids."'";
  6. mysql_query ($zapytanie); 
  7. echo 'Wiadomość skasowana';
  8. ?>


i jest kasowany rekord do którego był przypisany numerek $i. To się zgadza i jest ok, tylko jak mam teraz zrobić aby np. po zaznaczeniu checkboxa / lub kilku zostaną one usuniete przez np. buttom

Dobra, daje to w formularz:

  1. <?php
  2. <input type="checkbox" name="usun[]" value="'.$i.'" />
  3. ?>


i jeśli mam:

  1. <?php
  2. $idd = implode(", ", $_POST['usun']);
  3.  
  4.  
  5. $ids=$_SESSION['wiersze'][$idd]['id_wiad'];
  6.  
  7. mysql_query("DELETE FROM `mail` WHERE `id_mail` = ".$ids.");
  8. ?>


i zaznaczę jeden checkbox to zostanie on usuniety bez problemu, ale jak mam zrobic aby zanznaczyć kilka do usunięcia?

  1. <?php
  2. $idd = implode(", ", $_POST['usun']);
  3.  
  4.  
  5. $ids=$_SESSION['wiersze'][$idd]['id_wiad'];
  6.  
  7. mysql_query("DELETE FROM `mail` WHERE `id_mail` = implode(",",".$ids.")");
  8. ?>


questionmark.gif?
woj_tas
  1. <?php
  2. $idd = implode(", ", $_POST['usun']);
  3. $ids=$_SESSION['wiersze'][$idd]['id_wiad'];
  4.  
  5. mysql_query("DELETE FROM `mail` WHERE `id_mail` in (".$idd."))");
  6. ?>
!*!
hmm nie działa, ani grupowe usuwanie ani pojędyncze
woj_tas
Cytat(!*! @ 1.04.2008, 10:45:12 ) *
hmm nie działa, ani grupowe usuwanie ani pojędyncze


Sorki, zle ci podałem.

Nie wiem po co ci ta zmienna sesyjna ale powinieneś usuwać w pętli

Przykład:

  1. <?php
  2. $usun = (array)$_POST['usun'];
  3.  
  4. foreach($usun as $u){
  5. mysql_query("DELETE FROM `mail` WHERE `id_mail` = '$u' limit 1");
  6. }
  7. ?>
!*!
ta zmienna zamienia $i na id wiadomości w bazie

czyli ma być coś takiego? Nie za bardzo rozumiem

  1. <?php
  2. $idd = implode(", ", $_POST['usun']);
  3. $ids=$_SESSION['wiersze'][$idd]['id_wiad'];
  4.  
  5. foreach($usun as $ids){
  6. mysql_query("DELETE FROM `mail` WHERE `id_mail` = '$ids' limit 1");
  7. }
  8. ?>
xbigos
a może tak <form> </form>
Nie widziałem nigdzie w kodzie tego
!*!
emm tak, mam to w formatce umieszczone, metoda post przesyłane i submitem klikane winksmiley.jpg tylko jedyny mankament w tym taki iz nie działa sad.gif
xbigos
A do czego używasz sesji? po co?
zrób var_dump($ids) i pokaż co zwraca
!*!
var zwraca : NULL

Jeszcze raz. Mam tak:

  1. <form method="post" action="n.php">
  2.  
  3. <?php
  4. while ($wiersz = mysql_fetch_assoc($quer)) 
  5. {
  6.  
  7.  
  8. $i++;
  9. $class = ($i%2==1) ? "pierwszy" : "drugi";
  10.  
  11.  
  12. echo '<div class="'. $class .'">';
  13.  
  14.  
  15. $_SESSION['wiersze'][$i]['id_wiad']=$wiersz['id_mail'];
  16. $_SESSION['wiersze'][$i]['od_kogo']=$wiersz['nadawca'];
  17.  
  18.  
  19. echo '<img style="float:left; margin-top: 2px; margin-right: 2px;" src="'.$wiersz['stan'].'" alt="" /><div class="pok"><input type="checkbox" name="usun[]" value="'.$i.'" /><a href="#">'.$wiersz['login'].'</a></div>';
  20. echo '<div class="pok2"><a href="x&amp;num='.$i.'"><img style="margin-left: 5px;margin-top: 2px;" src="go/mail/x.png" alt="" /></a></div>';
  21.  
  22.  
  23.  
  24. echo '</div>';
  25.  
  26. }
  27. ?>
  28. <input type="submit" name="submit" value="usun" />
  29. </form>


i n.php

  1. <?php
  2. $idd = implode(", ", $_POST['usun']);
  3. $ids=$_SESSION['wiersze'][$idd]['id_wiad'];
  4.  
  5. mysql_query("DELETE FROM `mail` WHERE `id_mail` IN (".$ids."))");
  6.  
  7. echo ' '.var_dump($ids).'';
  8.  
  9. echo ' '.$idd.'<br />';
  10.  echo ' '.$ids.'<br />';
  11. echo ' skosowano<br />';
  12. ?>
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.