Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] checkbox a usuwanie rekordu
!*!
post 1.04.2008, 01:52:38
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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?

Ten post edytował !*! 1.04.2008, 02:49:25


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
woj_tas
post 1.04.2008, 07:13:07
Post #2





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


  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. ?>


--------------------
Go to the top of the page
+Quote Post
!*!
post 1.04.2008, 11:45:12
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


hmm nie działa, ani grupowe usuwanie ani pojędyncze


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
woj_tas
post 1.04.2008, 11:53:13
Post #4





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Go to the top of the page
+Quote Post
!*!
post 1.04.2008, 12:00:23
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
xbigos
post 1.04.2008, 13:39:24
Post #6





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

Ostrzeżenie: (0%)
-----


a może tak <form> </form>
Nie widziałem nigdzie w kodzie tego

Ten post edytował xbigos 1.04.2008, 13:41:06


--------------------
Go to the top of the page
+Quote Post
!*!
post 1.04.2008, 14:09:03
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
xbigos
post 1.04.2008, 14:25:26
Post #8





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

Ostrzeżenie: (0%)
-----


A do czego używasz sesji? po co?
zrób var_dump($ids) i pokaż co zwraca


--------------------
Go to the top of the page
+Quote Post
!*!
post 1.04.2008, 20:11:20
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował !*! 1.04.2008, 20:13:18


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 05:04