Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Omówienie Skryptu z checboxami, Omówienie Skryptu z checboxami
larson7221
post 14.06.2008, 13:11:01
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 3.04.2008

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


Witam mam do was prośbę . Prosił bym o w miarę jasny sposób umównie poniższego skryptu który podpiołem pod mój system mianowicie usuwanie newsów za pomocą checboxów nie rozumiem niektórych rzeczy mimo iż skrypt jest bardzo króciutki
  1. <?php
  2. switch($_GET['del'])
  3. {
  4. default :
  5. {
  6. if($_SESSION['logowanie'] == 'poprawne')
  7. {
  8. idnewsa();
  9. echo 'ZAZNACZID NEWSA
  10.  TYTUL
  11. AKCJA';
  12. while($r = mysql_fetch_array($query2)) // wsywietlenie newsow i zapisanie do tabeli r
  13. {
  14. $id=$r['idnews'];
  15. echo ''.$r['idnews'].''.$r['title'].'<a href=\"admin.php?change=usunnewsa&id='.$id.'\">[usun]'; // wyswietlenie idnewsa
  16. global $id;
  17. }
  18. echo '';
  19.  if($id)
  20. {
  21.  delate($id);
  22. }
  23. }
  24. break;
  25. }
  26. case &#092;"usunzaznaczone\":
  27. {
  28. if($_POST[&#092;"usun\"])
  29. {
  30. for ($i = 0; $i < count($_POST['usun']); $i++)
  31. {
  32. $id= $_POST['usun'][$i];
  33. mysql_query(&#092;"delete from NEWS where idnews='$id'\");
  34. }
  35. }
  36. header (&#092;"Location: admin.php?change=usunnewsa\");
  37. break;
  38. }
  39. }
  40. ?>
a więc ja powiem jak ja to rozumiem i czego nie rozumiem
za pomocą
  1. <?php
  2. <INPUT TYPE="checkbox" NAME="usun[]" VALUE="'.$id.'">
  3. ?>
wysyłam sobie nazwę usun[] i wartośc id newsa który leci sobie do podstrony usunznaznaczone potem skrypt
  1. <?php
  2. for ($i = 0; $i < count($_POST['usun']); $i++)
  3. {
  4. $id= $_POST['usun'][$i];
  5. mysql_query(&#092;"delete from NEWS where idnews='$id'\");
  6. }
  7. }
  8. ?>
liczy ile było znaznaczonych obiektów i wykonuje usunięcie newsow o id i teraz nie rozumiem o id nazwy usun[$i] questionmark.gif dlaczego $id newsa równa się $_POST['usun'][$i]; . skrypt działa dobrze tylko go nie rozumiem . Programuję od 2 miesiecy w PHP więc proszę o wyrozumiałoś i wytłumaczenie mi co ten skrypt robi od poczatku do konca dzięki z góry </a href=\"admin.php?change=usunnewsa&id='.$id.'\">

Ten post edytował larson7221 14.06.2008, 13:27:55
Go to the top of the page
+Quote Post
webdice
post 14.06.2008, 13:12:48
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Proszę o dodanie tagu w tytule tematu, w innym wypadku temat zostanie zamknięty.
Go to the top of the page
+Quote Post
nospor
post 14.06.2008, 20:58:36
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




masz checkboxy o nazwach usun[]
[] oznaczaja, ze formularz ma wyslac tablice o nazwie usun, z wartosciami pol o nazwie usun[]
Checkboxy wysylają sie tylko zaznaczone. Tak wiec $_POST['usun'] jest tablicą zaznaczonych checkboxow. Tablica ta zawiera id, gdyz jako value checkboxow dawales wlasnie id.
Jesli nie zaznaczysz zadnego checkboxa to $_POST['usun'] wogole nie bedzie istniec.
kod co pokazales mozna zapisac znacznie krocej i optymalniej:

  1. <?php
  2. if (!empty($_POST['usun']))
  3.  mysql_query('delete from NEWS where idnews in ('.implode(',',$_POST['usun']).')');
  4. ?>

implode() laczy elementy tablicy znakiem ','
Jesli wiec w tablicy miales przykladowo 3 8 9 to zapytanie bedzie wygladalo tak:
  1. DELETE FROM NEWS WHERE idnews IN (3,8,9)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
larson7221
post 14.06.2008, 22:16:23
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 3.04.2008

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


aha dzieki chyba zrozumialem :]

a odnośnie rozwiązania które mi podałeś jest owiele lepsze :] dzięki ;]
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.06.2025 - 14:58