Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Zaznaczone pola checkbox wyciągnięte z bazy
--Łukasz--
post 26.03.2014, 17:56:11
Post #1





Goście







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.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
trueblue
post 26.03.2014, 18:03:24
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Odrębna tabela z polami: user_id, hobby_id
Albo zapytanie z użyciem GROUP_CONCAT


--------------------
Go to the top of the page
+Quote Post
--Łukasz--
post 26.03.2014, 18:17:38
Post #3





Goście







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.
Go to the top of the page
+Quote Post
--Łukasz--
post 26.03.2014, 21:07:09
Post #4





Goście







Może jeszcze ktoś podpowiedzieć?
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: 14.08.2025 - 13:20