Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Zaznaczone pola checkbox wyciągnięte z bazy
Forum PHP.pl > Forum > Przedszkole
-Łukasz-
Cześć, siedzę od paru godzin nad takim problemem. Otóż mam w bazie dwie tabele Users i Category w tabeli Users trzymam dane uzytkowników którzy mają konta, a w tabeli Category trzymam kategorie hobby, układ tabel wygląda następująco

  1. Tabela "Users"
  2. user_id
  3. login
  4. password
  5. hobbys
  6.  
  7. Tabela "Category"
  8. hobby_id
  9. name


W polu Users.hobbys trzymam ID danej kategori np. "1,2,4" gdzie 1=Fizyka, 2=Chemia, 4=Matematyka itp. Myślę ze póki co wszystko logiczne wink.gif No i teraz potrzebuję wyciągnąć dane użytkownika A który ma wpisane właśnie 1,2,4, użytkownik B może mieć 2,4 itp. Póki co mi się udało i kod wygląda następująco jak poniżej. Wszystko działa co mnie cieszy ;-) Natomiast widać tylko pola do zaznaczenia, nie widać opisu pól checkbox czyli Category.name i tutaj mam problem, nie wiem jak to ugryźć sad.gif Siedzę, szukam na sieci i kompletna klapa. Możecie podpowiedzieć jak to rozwiązac?

  1. $sth = "SELECT * FROM hobby";
  2. $result2 = mysql_query($sth);
  3.  
  4.  
  5. $sth3 = "SELECT count(*) AS ile FROM phobby";
  6. $result3 = mysql_query($sth3);
  7. $row3 = mysql_fetch_array($result3);
  8. $ile = $row3['ile'];
  9.  
  10. while ($row2 = mysql_fetch_array($result2)) {
  11. $result_array[] = $row2['hobby_id'];
  12.  
  13. }
  14.  
  15. $allhobby = $result_array;
  16.  
  17.  
  18. $hobby= '1,2,4'; // Przykładowe dane zaznaczone przez uzytkownika
  19. $hobby_explode = explode(",",$hobby);
  20.  
  21. for($i=0;$i<$ile;$i++)
  22. {
  23. if(in_array($allhobby[$i],$hobby_explode))
  24. {
  25. echo "<input type='checkbox' name='hobby' value='".$allhobby[$i]."' checked='checked'>";
  26. }
  27. else
  28. {
  29. echo "<input type='checkbox' name='hobby' value='".$allhobby[$i]."'>";
  30. }
  31. }
  32.  
trueblue
Odrębna tabela z polami: user_id, hobby_id
Albo zapytanie z użyciem GROUP_CONCAT
-Łukasz-
Cytat(trueblue @ 26.03.2014, 18:03:24 ) *
Odrębna tabela z polami: user_id, hobby_id
Albo zapytanie z użyciem GROUP_CONCAT


Czyli muszę nowy kod napisać czy też nie? Bo twoja odpowiedź pewnie przydatna, ale trochę mało jasna.
-Łukasz-
Może jeszcze ktoś podpowiedzieć?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.