Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> checkboxy, formularz + odbior n checkboxow
sbogdi
post 3.03.2006, 13:35:18
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.05.2005

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


witam
na stronie tworze tyle chceckboxow ile mam userow w bazie

  1. .....
  2. $i=0;
  3. while($wyn = mysql_fetch_array($w,MYSQL_ASSOC))
  4. {
  5. echo '<tr><td><b>' . $wyn[ 'imie' ] . '</b>';
  6. echo  '<br><b>' .$wyn[ 'nazwisko' ] . '</b></td></tr>';
  7. ?>
  8. <tr>
  9. <td align=right>Oznacz ktoregos</td><td> <br>
  10. <input type='checkbox' name='student_id<? $i?>' ></td>
  11. </tr>
  12. <br>
  13. <? 
  14. $i++;
  15. }
  16. ....


nie wiem czy to jest dobrze

ale wiekszy problem jak odebrac te dane w zaleznosci od zaznaczonego chceckboxa (moze byc zaznaczone wiecej niz jeden)

jakies pomysly??

mozecie tez zobaczyc moj drugi problem troszke mylny temat postu ale chodzi o 2 pytanie Moj post

pozdrawiam

Ten post edytował sbogdi 3.03.2006, 13:35:48
Go to the top of the page
+Quote Post
nospor
post 3.03.2006, 13:40:50
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nadaj dla checkboxa nazwe tablicową oraz value będące id tego studenta. Formularzem zostaną przeslane tylko zaznaczone checkboxy.

  1. <?php
  2.  
  3. echo "<input type='checkbox' name='student_id[] value='$idStudenta' >";
  4.  
  5. ?>


a otrzymujesz tablice lub nic, jesli nic nie zaznaczono:
  1. <?php
  2.  
  3. if (isset($_POST['student_id']))
  4. print_r($_POST['student_id']);
  5.  
  6. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sbogdi
post 3.03.2006, 14:06:05
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.05.2005

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


Przy tym kodzie
  1. <form action= "wstawo.php" method=post>
  2. <?
  3. echo '<TABLE BORDER CELLSPACING=5 CELLPADDING=15 BORDERCOLOR=Maroon BGCOLOR=Silver> ';
  4. while($wyn = mysql_fetch_array($w,MYSQL_ASSOC))
  5. {
  6. echo '<tr><td><b>' . $wyn[ 'imie' ] . '</b>';
  7. echo  '<br><b>' .$wyn[ 'nazwisko' ] . '</b></td></tr>';
  8. ?>
  9. <tr>
  10. <td align=right>Oznacz ktoremu ze studentow <br> chcesz wstawic ocene</td><td> <br>
  11. <? echo "<input type='checkbox' name='student_id[] value='$student_id' >"; ?>
  12. </tr>
  13. <br>
  14. <tr>
  15. <td align=right>Wstaw ocene</td><td> <br>
  16. <? echo "<input type='text' name='ocena[] >"; ?>
  17. </tr>
  18. <? 
  19. }
  20. echo '</table>';
  21. ?>
  22. }


wypisuje mi to Array ( [0] => on [1] => on ) a oceny wogole mi nie wstawia
ooczywiscie moze to byc problem odbioru
co bys zaproponowal na odbior oceny i studenta_id (chcialbym zeby student_id byl powiazany z nazwiskiem i imieniem ktore jest wyswietlane na stronie)

Ten post edytował sbogdi 3.03.2006, 14:09:19
Go to the top of the page
+Quote Post
nospor
post 3.03.2006, 14:12:03
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zjadles ', a raczej ja zjadlem w poprzednim kodzie smile.gif
  1. <?php
  2. echo "<input type='checkbox' name='student_id[]' value='$student_id' >";
  3. ?>
pozatym nie widze bys gdzies inicjowal $student_id

podobnie z oceną
  1. <?php
  2. echo "<input type='text' name='ocena[]' >";
  3. ?>


edit:
Cytat
co bys zaproponowal na odbior oceny i studenta_id (chcialbym zeby student_id byl powiazany z nazwiskiem i imieniem ktore jest wyswietlane na stronie)
Dodaj jeszcze pole ukryte po nazwisku, ktorego wartością bedzie student_id


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sbogdi
post 3.03.2006, 14:53:31
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.05.2005

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


  1. <form action= "wstawo.php" method=post>
  2. <?
  3. $student_id=0;
  4. echo '<TABLE BORDER CELLSPACING=5 CELLPADDING=15 BORDERCOLOR=Maroon BGCOLOR=Silver> ';
  5. while($wyn = mysql_fetch_array($w,MYSQL_ASSOC))
  6. {
  7.  
  8. echo '<tr><td><b>' . $wyn[ 'imie' ] . '</b>';
  9. echo  '<br><b>' .$wyn[ 'nazwisko' ] . '</b></td></tr>';
  10. echo "<input type='hidden' name='w' value='$student_id' >";
  11. $student_id++
  12. ?>
  13. <tr>
  14. <td align=right>Oznacz ktoremu ze studentow <br> chcesz wstawic ocene</td><td> <br>
  15. <? echo "<input type='checkbox' name='student_id[]' value='$student_id' >"; ?>
  16.  
  17.  
  18. </tr>
  19. <br>
  20. <tr>
  21. <td align=right>Wstaw ocene</td><td> <br>
  22. <? echo "<input type='text' name='ocena[]' >"; ?>
  23. </tr>
  24. <? 
  25. }
  26. echo '</table>';
  27. ?>


teraz tak wyglada formularz tylko nie wiem jak zrobic odbior zeby hidden=imie,nazwisko (bo w tabeli student identyfikowany jest po student_id nie po imieniu i nazwisku )

Ten post edytował sbogdi 3.03.2006, 14:54:13
Go to the top of the page
+Quote Post
nospor
post 3.03.2006, 16:05:04
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




hmmm, spobujmy inaczej.
Rozumiem że chcesz wiedziec, który input z oceną dotyczy jakiego studenta?
A więc:
Nadaj dla inputa z oceną takie name: ocena_$student_id
  1. <?php
  2. echo "<input type='text' name='ocena_$student_id' >";
  3. ?>

Teraz przy odbieraniu checkboxow, bedziesz mial id studenta. zeby pobrac dla niego ocenę wystarczy napisac:
  1. <?php
  2.  
  3. //$idStudent - id pobrane z value checkboxa przeslanego
  4. echo 'Ocena dla studenta o id:'.$idStudent.' to:'.$_POST['ocena_'.$idStudent].'<br />';
  5.  
  6. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 9.07.2025 - 05:02