![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Mam kilka checkboksów, lecz nie weim ile (wygenerue mi je php) i teraz chcę
sprawdzić, które są zaznaczone? Myślałem o kilku możliwościach, ale wszystkie są złe: 1. Nazywanie każdego checkboksa tak sam, zato nadawanie im różnych wartości (np. kolejnych numerów) i w odpoiwedzi na formularz dostaję check=1&check=2&check3 czyli do zmiennej check będzie wpisane 3 i da mi to tylko tyle, że będę wiedział, że został wciśniety 3, a w rzeczywistości został wciśnięty checkboks 1, 2 i 3 2. Nazywanie wszystkich checkboksów inaczej (za każdym obejściem pętli $i++ i <checkboks name="check"$i" value="tak"> i teraz gdy wcisnę check 1, 2 i 3 otrzymam check1=tak&check2=tak&=check3=tak i nadal mi to nic nie daje :/ Może powienienem skonstruować jakąś pętlę (np. for) która sprawdzi mi ile jest pul i które zostały wciśnięte. Tylko jak? :/ |
|
|
![]() |
![]()
Post
#2
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
[php:1:f8d799838c]<?php
$ile = '100'; // Wydobywasz skads ile tych checkbox'ów ma być if( empty( $_POST['check'] ) ) { echo '<form method="post">'."nr"; for($i=1; ($ile+1) > $i; $i++ ) { echo ' '.$i.'.<input name="check['.$i.']" value="tak" type="checkbox" /> <br/>'."nr"; } echo ' <input type="hidden" value="'.$ile.'" name="ile" />'."nr"; echo ' <input type="submit" value="sprawdz" name="submit" />'."nr"; echo '</form>'; } else { $arrSelect = array(); foreach( $_POST['check'] AS $n => $v ) { $arrSelect[] = $n; echo 'Zaznaczony '.$n.'<br/>'."nr"; } for($i=1; ($_POST['ile']+1) > $i; $i++ ) { if( !in_array( $i, $arrSelect ) ) { echo 'Nie zaznaczone '.$i.'<br/>'."nr"; } } } ?>[/php:1:f8d799838c] Prosze... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 10:05 |