Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP i 0 kiedy check_box nonchecked
Forum PHP.pl > Forum > PHP
vermer
Witam mam takie pytanie mam coś takiego:
  1. echo '<tr>';
  2. echo '<td>';
  3. echo $odp4[$i];
  4. echo '</td>';
  5. echo '<td>';
  6. echo "<input type='checkbox' name='wariant[]' value='1' />";
  7. echo '</td>';
  8. echo '</tr>';
  9. $p=$p+1;
e
Jest to for generujący podaną liczbę checkboxów i dodający zatwierdzone do tablicy:
I to zaczyna się moje pytanie jak zrobić z tych checboxów taki ciąg aby 0 oznaczały niezaznaczone a 1 zaznaczony ciąg
np żeby tablica dawała wynik 0001000100000?
czy jest jakiś pomysł na to?
Noidea
1. zamieniasz: name='wariant[]' na: name='wariant[$i]' aby wszystkie checkboxy miały ustalony indeks
2. przesyłasz liczbę checkboxów w ukrytym polu (albo zapamiętujesz w sesji/w kodzie php)
3. podczas odbierania formularza wykorzystaj isset do sprawdzenia czy dane pole zostało zaznaczone

  1. <form action="" method="post">
  2. <?php
  3.  
  4. $checkboxCount = 8;
  5.  
  6. for( $i = 0; $i < $checkboxCount; $i++ )
  7. {
  8. echo '<input type="checkbox" name="wariant[' . $i . ']" value="1">';
  9. }
  10. echo '<input type="hidden" name="checkboxCount" value="' . $checkboxCount . '">';
  11. echo '<input type="submit" name="submit">';
  12.  
  13. ?>
  14. </form>
  15.  
  16. <br><br><br>
  17.  
  18. <?php
  19.  
  20. if( isset( $_POST["submit"] ) )
  21. {
  22. //print_r( $_POST );
  23.  
  24. for( $i = 0; $i < $_POST["checkboxCount"]; $i++ )
  25. {
  26. echo (int)isset( $_POST["wariant"][$i] );
  27. }
  28. }
  29.  
  30. ?>
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.