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
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. $user_id=2;
  2. // uzytkownik, dla ktorego pobieam prawa
  3. $query="SELECT prawo_id FROM _prawa WHERE user_id=$user_id";
  4. $result=mysql_query($query) or die(mysql_error());
  5. if($result)
  6. {
  7. while($wynik[]=mysql_fetch_assoc($result)){}
  8. // zapisuje odczytane pawa do tablicy wynikow
  9. }
  10. $checkboxy='';
  11. $prawa=array(1,2,3,4,5,6);
  12. // wszystkie mozliwe prawa
  13.  
  14. foreach($prawa as $key=>$value)
  15. {
  16. $checkboxy.='<input type="checkbox" name="prawo['.$key.']" value="'.$value.'" ';
  17. if(in_array(array('prawo_id'=>$value),$wynik))$checkboxy.='checked';
  18. // sprawdzenie, czy odczytane pawo ma dany uzytownik, jesli tak, to zaznaczam przy nim 'checked'
  19. $checkboxy.= ' />';
  20. }
  21.  
  22. // wyswietlenie
  23.  
  24. ?>
  25. <html>
  26. <body>
  27. <?php
  28. echo $checkboxy;
  29. ?>
  30. </body>
  31. </html>


Ten post edytował mmmmmmm 24.09.2012, 22:29:59
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: 28.12.2025 - 09:43