Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> checkbox i petelka...
Stef@n
post 24.09.2005, 12:09:15
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


Witam mam formularz tego typu:

  1. < table>
  2. <tr>
  3. <input type=hidden name="id_nazwiska[]" value="<? Echo "$rekord[id]"; ?>">
  4. <td>
  5. <p><span><? echo "$rekord[nazwisko] $rekord[imie]"; ?></span></p>
  6. </td>
  7. <td>
  8. <p align=center><input type="checkbox" name="tak[]" value="1"></p>
  9. </td>
  10. <td>
  11. <p><input type=text name="punkty[]" value="0" size=10%></p>
  12. </td>
  13. </tr>
  14. </table>


A teraz pentelka po wypełneniu formularza:

  1. <?  for ($i=0; $i <= 6; $i++){
  2.  if($tak[$i] == 1){
  3. $faza .= "$id_nazwiska[$i]|$punkty[$i]//<br>";
  4. }}
  5. echo "$faza";
  6. ?>


A teraz problem:
Jesli zaznacze "checkbox" zawodnika obojetnie ktorego. To formularz przechodzi do pentelk,i w petli sprawdza czy "checkbox" ma wartosc 1 i wyswietla tego zawonika. No własnie wyswietla, ale nie tego co trzeba. Tylko pierwszego zawodnika. Nawet wtedy jak nie jest ona zaznaczony!!

Prosze o pomoc, bo juz brakuje mi pomysłow co jest nie tego...
Pozdro

Ten post edytował Stef@n 24.09.2005, 12:19:06
Go to the top of the page
+Quote Post
valhard
post 24.09.2005, 12:20:42
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.09.2005

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


Cytat
<input type=hidden name="id_nazwiska[]" value="<? Echo "$rekord[id]"; ?>">


przy name="id_nazwiska[]" musisz jakoś numerować dane to tablicy np: name="id_nazwiska[$i]"

nie wiem jak masz zrobioną pętlę wyświetlającą formularz
Go to the top of the page
+Quote Post
Stef@n
post 24.09.2005, 12:34:12
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


petla while wyswietlajaca dane z bazy mysql
Go to the top of the page
+Quote Post
Ive
post 24.09.2005, 15:07:52
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

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


  1. <?
  2. $faza .= "$id_nazwiska[$i]|$punkty[$i]//<br>";
  3. ?>

na moje oko tu masz blad... bo wybierasz zawodnika o id $i czyli jesli tylko 1 raz sie obraca petla to $i = 0. musisz uzyc $id_nazwiska[$_POST['pole']] cos takiego... nie pamietam jak tos ie robilo dokladnie... kombinuj a wyjdzie x]
Go to the top of the page
+Quote Post
Stef@n
post 24.09.2005, 19:50:35
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


Cytat(valhard @ 2005-09-24 13:20:42)
Cytat
<input type=hidden name="id_nazwiska[]" value="<? Echo "$rekord[id]"; ?>">


przy name="id_nazwiska[]" musisz jakoś numerować dane to tablicy np: name="id_nazwiska[$i]"

nie wiem jak masz zrobioną pętlę wyświetlającą formularz

No zrobiłem tak ale teraz nie wiem jak wykonac petle worriedsmiley.gif, Pomocy
Go to the top of the page
+Quote Post
Kicok
post 24.09.2005, 20:11:30
Post #6





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Checkboxy odznaczone nie są wysyłane i php ich nie widzi. Przy takim formularzu (zakładając że masz np. 6 tych checkboxów) po wysłaniu zrobią się takie tablice:

Jeśli zaznaczone były 3 pierwsze checkboxy:
$tak[0] = 1;
$tak[1] = 1;
$tak[2] = 1;

Jeśli zaznaczone były 3 ostatnie checkboxy:
$tak[0] = 1;
$tak[1] = 1;
$tak[2] = 1;

Jeśli zaznaczone były 4 losowo wybrane checkboxy:
$tak[0] = 1;
$tak[1] = 1;
$tak[2] = 1;
$tak[3] = 1;


Jak już pewnie zauważyłeś nie da się z tego wyciągnąć które dokładnie checkboxy masz zaznaczone ;]
Pobombinuj z wartością przy value= checkboxów. Wstaw tam $rekord[id] zamiast tej jedynki, czy coś w tym stylu

Ten post edytował Kicok 24.09.2005, 20:12:58


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Stef@n
post 24.09.2005, 20:36:40
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 3
Dołączył: 14.08.2003

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


Zrobiłem jak pisałes Kicok, ale efekt jest mniej wiecej podbny do tego co było zobacz:

  1. <table>
  2. <tr>
  3.  <td>
  4. <p><span><? echo "$rekord[nazwisko] $rekord[imie]"; ?></span></p>
  5. </td>
  6. <td>
  7. <p align=center><input type="checkbox" name="tak[]" value="<? Echo "$rekord[id]"; ?>"></p>
  8. </td>
  9. <td>
  10. <p><input type=text name="punkty[]" value="0" size=10%></p>
  11. </td>
  12. </tr>
  13. </table>


A teraz petelka:

  1. <?  for ($i=0; $i <= 6; $i++){
  2.  if($tak[$i] != ''){
  3. $faza .= "$tak[$i]|$punkty[$i]//<br>";
  4. }}
  5. echo "$faza";
  6. ?>


Problem jest taki ze nie wszystkie wartosci do punktu sa doprowadzone co wprowadziłem worriedsmiley.gif
Cytat
Checkboxy odznaczone nie są wysyłane i php ich nie widzi. Przy takim formularzu (zakładając że masz np. 6 tych checkboxów) po wysłaniu zrobią się takie tablice:

No nie koniecznie wczesniej mam zliczanie rekordów ile ich jest i za ta liczbe 6 jest podstawiona ta liczba! Przynajmniej tak chce zrobic jak zacznie działac ta petla sadsmiley02.gif
------------------------------------------------

Ej no nikt nie wie czy nie chce wiedziec sadsmiley02.gif sadsmiley02.gif

Ten post edytował Stef@n 27.09.2005, 08:56:01
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: 12.07.2025 - 14:57