• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zliczanie zaznaczonych checkboxów PHP

Object Storage Arubacloud
–1 głos
777 wizyt
pytanie zadane 3 marca 2019 w PHP przez zerakot Obywatel (1,870 p.)
Witam,

Jak mogę zliczyć zaznaczone checkboxy na stronie (przesyłane formularzem metodą POST). Wiem, że są takie pytania w necie, ale nie znalazłem odpowiedzi na to.
1
komentarz 3 marca 2019 przez Tomek Sochacki Ekspert (227,510 p.)
ej no bez jaj... dopiero co 1 czy 2 dni temu dawałem komuś gotowca na ten sam problem... ludzie czy Wy naprawdę nie umiecie korzystać z wyszukiwarki?
komentarz 3 marca 2019 przez Tomek Sochacki Ekspert (227,510 p.)
proszę: https://forum.pasja-informatyki.pl/417412/obsluga-checkboxa-js i to widzę, że własnie Tobie dałem gotowca :)
komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)

@Tomek Sochacki,
No właśnie widzę ;)

komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)

@Tomek Sochacki,

Teraz potrzebuję takie, ale w PHP, a temtego używam

1 odpowiedź

+1 głos
odpowiedź 3 marca 2019 przez Velta Maniak (52,010 p.)
wybrane 3 marca 2019 przez Arkadiusz Waluk
 
Najlepsza

Nazwij kontrolki, jakbyś chciał określić konkretny element w tablicy:

<input type="checkbox" value="whatever" name="checkbox[]">

Później wystarczy, że z POST-a pobierzesz o takiej nazwie i utworzy Ci się tablica zaznaczonych checkboxów, które możesz policzyć.

komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)
A czy name musi być checkbox[], a nie np. nazwa[]
komentarz 3 marca 2019 przez Velta Maniak (52,010 p.)
Jaka chcesz.
komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)
Tylko musi mieć nawiasy kwadratowe?
komentarz 3 marca 2019 przez Velta Maniak (52,010 p.)
Tak – chyba, że wolisz po kolei sprawdzać, czy w ogóle taki element w przesłanym $_POST istnieje. ;p
komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)

Mam takie coś w kodzie PHP: (przegladaj.php)

echo '<div class="produktwyszukany">'.
					"<div class='zdjecie'>"."<img src='".$row['zdjecie']."'/>"."</div>".
					"<div class='nazwa'>".$row['nazwa']."</div>"."<br />"."<br />".
					"<div class='cena'>".$row['cena'].
					"<div class='zl'>zł</div>"."</div>".
					"<input type='submit' name='opis' value='OPIS' onClick='
						document.getElementById(\"Wopis\").innerHTML = \"".$row['opis']."\"
						document.getElementById(\"Wnazwa\").innerHTML = \"".$row['nazwa']."\"
						document.getElementById(\"produkt\").value = \"".$row['nazwa']."\"
						var mail = document.getElementById(\"mail\");
						mail.style.display = \"block\"	
						var wyjasnienie = document.getElementById(\"wyjasnienie\");
						wyjasnienie.style.display = \"block\"	
					' />".
						"<input type='checkbox' name='kosz[]' class='kosz' onClick='kosz()' value='".$row['nazwa']."' />"."<label>Koszyk</label>".
						"<input type='submit' value='PODSUMUJ' action='podsumowanie.php'/>".
					"</div>";

Proszę zwrócić uwagę na linijkę 15

I kod PHP: (podsumowanie.php)

$ile = count($_POST['kosz[]']);
		echo $ile;

Wiem, że jest niepoprawnie napisany ten pierwszy kod, ale nie nim teraz się zajmujemy. I gdzie ja błąd zrobiłem? Dodam, że dane są wysyłane formularzem, ale on obejmyje cały skrypt, więc go nie ma tu.

komentarz 3 marca 2019 przez Velta Maniak (52,010 p.)

Poczytaj o HTML5. Psujesz sobie tylko czytelność.

Elementy pobierz jako całą tablicę:

$count = count($_POST["kosz"]);
komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)
Dziękuję za pomoc. Działa!
komentarz 3 marca 2019 przez zerakot Obywatel (1,870 p.)

@Velta,

Ale teraz mam taki kod:

if(isset($_POST['kosz']))
	{
		$count = count($_POST["kosz"])-1;
		$i = 0;
		while($i <= $count)
		{
		$nazwa = $_POST['kosz'];
		echo $nazwa[0];
		$i++;
		}
	}

I chcę, aby ze wszystkich checkboxów pobierało wartości, więc w echo $nazwa[] chcę po kolei zrobić indexy produktów, ale jak do echo $nazwa[] w nawiasach wpiszę 1 to juz błąd pokazuje.

Podobne pytania

0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 22 marca 2018 w JavaScript przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
2 odpowiedzi 1,125 wizyt
pytanie zadane 12 marca 2018 w JavaScript przez hiper007 Stary wyjadacz (11,270 p.)
+1 głos
1 odpowiedź 541 wizyt
pytanie zadane 1 października 2020 w JavaScript przez dimek72 Nowicjusz (180 p.)

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...