Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Update dla wielu check-ów
eurosoft
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


witam, problem mój leży w sposobie napisania funkcji, która aktualizauje bazę SQL w zależności od zaznaczonych checkboxów. na tę chwile mam poniższy kod:
  1. .....
  2. <form name="wyl_low" form action="" method="post">
  3. <center><fieldset>
  4. <legend>Wybierz do wyłączenia</legend>
  5. <?php
  6. $obwody1 = "SELECT * FROM low";
  7. $result2 = mysql_query ($obwody1);
  8. while($nt=mysql_fetch_array($result2))
  9. {
  10. echo '<input type="checkbox" name="nazwa_low" value="'.($nt['nazwa_low']).'">'.($nt['nazwa_low']).'</input>';
  11. }
  12.  
  13. ?>
  14. <br><br><b>Od dnia:
  15. <script>
  16. DateInput('wylaczony_od2', true, 'YYYY-MM-DD')
  17. </script>
  18. Do dnia:</b>
  19. <script>
  20. DateInput('wylaczony_do2', true, 'YYYY-MM-DD')
  21. </script>
  22. <br>
  23. <input type=submit name="wyl_low" style=width: 130 VALUE=Wyłącz>
  24. </fieldset></font></form>
  25.  
  26.  
  27. <?php
  28. $nazwa_low = $_POST['nazwa_low'];
  29. $wylaczony_od2 = $_POST['wylaczony_od2'];
  30. $wylaczony_do2 = $_POST['wylaczony_do2'];
  31. {
  32. if( !empty($_POST['wyl_low']) ){
  33.  
  34. mysql_query("UPDATE low SET wylaczony_do='$wylaczony_do2', wylaczony_od='$wylaczony_od2' WHERE nazwa_low='$nazwa_low'")
  35. or die('Bł&plusmn;d zapytania');
  36. }}
  37. ?>

błąd polega na tym że zapisuje mi wyłącznie ostatniego checkboxa. proszę o radę.
Go to the top of the page
+Quote Post
Kamil Pietrzak
post
Post #2





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


skoro kazdy ma
  1. name="nazwa_low"


sprobuj tak:
  1. for($x=0; $nt=mysql_fetch_array($result2); $x++)
  2. {
  3. echo '<input type="checkbox" name="nazwa_low_' . $x . '" value="'.($nt['nazwa_low']).'">'.($nt['nazwa_low']).'</input>';
  4. }


jak mnei pamiec nie myli, to mozna to zapisac jako cos na wzor tablicy


  1. for($x=0; $nt=mysql_fetch_array($result2); $x++)
  2. {
  3. echo '<input type="checkbox" name="nazwa_low[' . $x . ']" value="'.($nt['nazwa_low']).'">'.($nt['nazwa_low']).'</input>';
  4. }


  1. print_r($_POST['nazwa_low'])

Go to the top of the page
+Quote Post
eurosoft
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


Temat rozwiązany. Info dla następców:

  1. ......
  2. echo '<input type="checkbox" name="nazwa_low['.($nt['nazwa_low']).']" value="'.($nt['nazwa_low']).'">'.($nt['nazwa_low']).'</input>';
  3. .......


oraz

  1. ...
  2. if( !empty($_POST['wyl_low']) ){
  3. foreach($nazwa_low as $wyn)
  4. mysql_query("UPDATE low SET wylaczony_do='$wylaczony_do2', wylaczony_od='$wylaczony_od2' WHERE nazwa_low='$nazwa_low[$wyn]'")
  5. or die('Błąd zapytania');
  6. ...
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Samo:
name="nazwa_low[]"
w zupelnosci wystarczy, bez zadne zabawy w indeksy.
Potem w php też już wystarczy tylko:
.... WHERE nazwa_low='$wyn'


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

"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

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 Aktualny czas: 20.08.2025 - 13:36