Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
chckboxy w pętli - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: chckboxy w pętli (/thread-chckboxy-w-petli)



chckboxy w pętli - Radian - 06-06-2012

No więc problem kolejny nastał, mam formularz -> w nim niewiadoma ilość checkboxów wyświetlane w pętli (może być 10 i może być 50) każdy checkbox ma nazwę dajmy na to "nazwa-id" teraz potrzebuję po wysłaniu formularza wyświetlić:

nazwa-id = value dla każdego checkboxa

Zdaję sobie sprawe że jest to dosyć łatwe ale nie dla mnie, zrobiłem to okrężną drogą poprzez zapytanie w bazie danych a wiem że na pewno da się łatwiej tworząc tablice, ktoś może mi z tym pomóc ?

edit:
Rozwiązałem to w taki sposób, a wiem że jest błedny bo da sie na 100% zrobić to prościej:


Wylisotwanie checkboxów w formularzu również poprzez pętle
<input type="checkbox" name="contcategory'.$catfirm[$i]['id'].'" id="contcategory'.$catfirm[$i]['id'].'" value="1" />'.$catfirm[$i]['name_'.LANG].' - contcategory'.$catfirm[$i]['id'].'


Pętla gdzie dodaje do bazy informacje o tym jakie checkboxy użytkownik zaznaczył
for( $i = 1; $i <= $catfirm[0]; $i++ ){
$category = array($_POST['contcategory'.$catfirm[$i]['id'].'']);
if($_POST['contcategory'.$catfirm[$i]['id'].''] == 1){
$insrt = dbQuery( "INSERT INTO cat2firm SET idf = '".$idfirm."', idc = '".$catfirm[$i]['id']."'" );
}
}


RE: chckboxy w pętli - Kartofelek - 06-06-2012

http://www.kavoir.com/2009/01/php-checkbox-array-in-form-handling-multiple-checkbox-values-in-an-array.html


RE: chckboxy w pętli - Radian - 06-06-2012

dzięki Kartofelek za liinka:

załatwiłem to takim sposobem:

$wynik = $_POST['tags'];

echo 'Zaznaczone checkboxy<br /><br />';
for( $i = 0, $cnt = count($wynik); $i < $cnt; $i++ ){

echo $wynik[$i];
echo '<br />';

}
echo '<br /><br />';


echo '<form method=post action="#">';
for( $i = 0; $i <= 10; $i++ ){
echo '<input type="checkbox" name="tags[]" value="contcategory-'.$i.'" />contcategory-'.$i.'<br />';
}
echo '<input type="submit" value="wyslij"/>';
echo '</form>';