Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Sprawdzanie checkboxów
wiciu010
post 10.11.2008, 20:23:29
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Mam formularz w którym są pola checkbox. Ich ilość jest zmienna gdyż zależy od ilości pozycji w bazie danych. Jak sprawdzić ktore pola zostały zaznaczone? Formularz jest wysyłany metodą POST. Gdyby ilość była ograniczona to sprawa jest prosta ale tak to nie wiem jak to zrobić. Czy do każdego checkboxa dodać to samo name czy różne? Jako value będzie przesyłane odpowiednie ID z MySQL ponieważ będzie mi potrzebne w pliku który odbiera formularz
Go to the top of the page
+Quote Post
ayeo
post 10.11.2008, 20:26:39
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witaj!

Sprawa jest dość prosta:

  1. <input type = "checkbox" name = "checkbox[1]" value = "TRUE" />
  2. <input type = "checkbox" name = "checkbox[2]" value = "TRUE" />


  1. <?php
  2. array_keys($_POST['checkbox']);  //zwróci  ID zaznaczonych checkboxów (w tym wypadku: 1,2).
  3. ?>


Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
artur_dziocha
post 10.11.2008, 21:16:12
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

Ostrzeżenie: (0%)
-----


a nie lepiej
  1. <?php
  2. foreach($cos_w_bazie) {
  3. <input type = "checkbox" name = "checkbox[]" value = "$id" />
  4. }
  5. ?>

po wysłaniu
  1. <?php
  2. foreach($_POST['checkbox']){
  3. echo $id;
  4. }
  5. ?>

i w ten sposób wyświetla wszystkie id
później mozna wyświetlić id wszystkich zaznaczonych checkboxów

Ten post edytował artur_dziocha 10.11.2008, 21:19:41
Go to the top of the page
+Quote Post
ayeo
post 10.11.2008, 21:18:02
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Nie, nie prościej, a już na bank nie wydajniej;
  1. <?php
  2. print_r( array_keys( $_POST['checkbox'] ) ); //wyświetla tablicę zawierającą zaznaczone IDki
  3. ?>


Pozdrawiam!

edit: @artur_dziocha, zedytowałeś posta. Teraz Twoje rozwiązanie ma sens winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
artur_dziocha
post 10.11.2008, 21:26:06
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

Ostrzeżenie: (0%)
-----


No własnie dzieki:)
Które lepsze rozwiązanie??smile.gif
Go to the top of the page
+Quote Post
ayeo
post 10.11.2008, 21:30:06
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Pewności nie mam, ale wydaje mi się, że $_POST['checkbox']; bedzie zawierał tylko zaznaczone IDki, więc Twoje rozwiązanie jest lepsze i szybsze i najfajniejsze winksmiley.jpg

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
artur_dziocha
post 10.11.2008, 21:41:34
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

Ostrzeżenie: (0%)
-----


troche zgryzliwe to bylo chyba:P
Go to the top of the page
+Quote Post
ayeo
post 10.11.2008, 21:44:18
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


W żadnym wypadku! Po prostu przyznanie się do błędu bez owijania w bawełnę. Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
wiciu010
post 11.11.2008, 10:40:01
Post #9





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Dzięki wszystkim za pomoc, problem rozwiązany:)
Go to the top of the page
+Quote Post
pysio78
post 8.12.2008, 13:41:30
Post #10





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.12.2008

Ostrzeżenie: (0%)
-----


Wszystko ładnie pięknie ale jak wyciągnąć z takiej tablicy dane?

Po wykonaniu
Kod
print_r(array_keys($_POST['checkbox']));

i zaznaczeniu 4 checkboxów wyświetla mi się
Kod
Array  (      [0] => 1      [1] => 2      [2] => 3      [3] => 4  )

Wszystko jest oki bo wartości są przekazane prawidłowo ale teraz jak z tej tablicy je wyciągnąć ?
Samo
Kod
echo ($checkbox[0]);

Nic nie daje i nic się nie wyświetla a wg tego powinno zawierać wartość 1!
Powiem, że zapewne jest to proste ale widać zbyt proste i mam pustkę w łepetynie.
Go to the top of the page
+Quote Post
artur_dziocha
post 8.12.2008, 14:03:29
Post #11





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

Ostrzeżenie: (0%)
-----


  1. <?php
  2. echo $_POST['checkbox']['0'];
  3. ?>


  1. <?php
  2. foreach($_POST['checkbox'] as $value){
  3. echo $value;
  4. }
  5. ?>


Ten post edytował artur_dziocha 8.12.2008, 14:04:37
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:19