Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak sprawdzić, które checkboksy są wciśnięte
post
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? :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
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...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 10:05