Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
chckboxy w pętli
#1
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']."'" );
}
}
Odpowiedz
#2
http://www.kavoir.com/2009/01/php-checkbox-array-in-form-handling-multiple-checkbox-values-in-an-array.html
Odpowiedz
#3
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>';
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl