Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zaznaczanie checkboxów na podstawie danych z mysl
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam,

mam taki problem potrzebuje zaznaczyć checkboxy z konkurencjami w których dany zawodnik bierze udział mam taki kod który wyświetla mi w 3 kolumnach checkboxy z konkurencjami

  1. <?php
  2. require_once "core.php";
  3.  
  4. $q = $_GET['dane'];
  5.  
  6. $wynik= dbquery("SELECT * FROM zawodnik WHERE id_zawodnika = '".$q."'");
  7.  
  8. $r = mysql_fetch_assoc($wynik);
  9. echo '<center><table cellpadding="2">';
  10. echo '<tr>';
  11. echo '<td>Imie:</td>';
  12. echo '<td><input type="textbox" value="'.$r['imie_zawodnika'].'" name="imie"></td>';
  13. echo '</tr><tr>';
  14. echo '<td>Nazwisko:</td>';
  15. echo '<td><input type="textbox" value="'.$r['nazwisko_zawodnika'].'" name="nazwisko"></td>';
  16. echo '</tr><tr>';
  17. echo '<td>Klub:</td>';
  18. echo '<td><input type="textbox" value="'.$r['klub_zawodnika'].'" name="klub"></td>';
  19. echo '</tr><tr>';
  20. echo '<td>Licencja:</td>';
  21. if($r['licencja_zawodnika'] == 0){
  22. echo '<td><input type="checkbox" value="0" name="licencja_zawodnika"></td>';
  23. } else {
  24. echo '<td><input type="checkbox" checked="checked" value="0" name="licencja_zawodnika"></td>';
  25. }
  26. $ilosc_konkurencji = mysql_num_rows($wynik);
  27. $wynik = dbquery("SELECT * FROM konkurencje WHERE status = '1'");
  28.  
  29. echo '<table width="100%" align="center" cellspacing="1" cellpadding="0"><tr>';
  30.  
  31. $i=0;
  32.  
  33. while ($r = mysql_fetch_assoc($wynik)) {
  34. if ($i > 0 && $i % 3 === 0)
  35. echo '</tr><tr>';
  36.  
  37. echo '<td><input type="checkbox" class="textbox" name="konkurencja['.$r['id_konkurencji'].']" value="'.$r['nazwa_konkurencji'].'" > - ' . $r['nazwa_konkurencji'] . '</td>';
  38.  
  39. $i++;
  40. }
  41.  
  42. echo '</table></td></tr></table>';
  43.  
  44. ?>


w tabeli mysql przechowuje id konkurencji w które zawodnik bierze udzial
1 rekord odpowiada za 1 konkurencje czyli np jest

jan kowalski 1
jan kowalski 2

wiec powinno być zaznaczone checkbox z id 1 i checkbox z id 2

jak sie za to zabrać? bo spędziłem nad tym już parę ładnych godzin i nic nie udało mi się zrobić doszedłem do tego ze ze zaznaczało mi np tylko konkurencje o id 1 albo pętla wyświetlała mi setki checkboxów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kyku
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 8
Dołączył: 21.11.2008

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


Czyli po prostu musisz sprawdzać czy konkurencje były zaznaczone i w checkboxie dodawać CHECKED="CHECKED"

przykład (użyłem "szybkiego ifa"):
  1. <form action="" method="POST">
  2. <?
  3. while(PETLA){
  4. <input type="checkbox" name="numer['.$Jakies_Id.']" value="'.$Wartosc.'" '.($Jezeli_Jest_W_Bazie?'checked="checked"':'').' />
  5.  
  6. <input type="submit" />
  7. </form>';
  8. }
  9.  
  10. // tutaj zapisywanie do bazy musisz zrobić wszystkich zaznaczonych
  11. if($_POST){
  12. foreach($_POST['numer'] as $nr => $wartosc){
  13.  
  14. echo "NR: " . $nr . " Wartosc: " . $wartosc . " <br />";
  15.  
  16. }
  17. }
  18. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 24.12.2025 - 06:29