Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Pętla w pętli, while { while {} }
d0m1n1k_
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Witam,
staram się zbudować relację między tablicami w MySQL, jednak nie wiem dlaczego, ale nie wychodzi.

Oto co mam:

Tablice (kolumny):
matches (id_matches; id_user; id_category; title; added_data; matches_startd; matches_starth; head_description; main_description),
matches_categories (id_category; matches_name; icon),
links (id_link; id_matches; id_user; id_linkgroup; link_name; hyperlink; added_data; score; votes),
rating (id_rating; id_matches; id_info; like; unlike)

Chciałbym z nich wyświetlić dane zaznaczone pogrubieniem w kolejności od najstarszego (data bliska chwili obecnej) do najnowszego (do końca dnia).
Instrukcja którą wymodziłem wygląda następująco:
  1. $meczedzis1 = mysql_query("SELECT * FROM matches WHERE matches_startd = CURDATE()");
  2.  
  3. while ($meczedzis2 = mysql_fetch_array($meczedzis1)) {
  4. $dzisspot_tytul = $meczedzis2['title'];
  5. $dzisspot_data = $meczedzis2['matches_startd'];
  6. $dzisspot_godzina = $meczedzis2['matches_starth'];
  7.  
  8. $meczedzis3 = mysql_query("SELECT * FROM matches_categories, links, rating WHERE matches.id_category=matches_categories.id_category AND matches.id_matches=rating.id_matches");
  9.  
  10. while ($meczedzis4 = mysql_fetch_array($meczedzis3)) {
  11. $dzisspot_ikona = $meczedzis4['icon'];
  12. $dzisspot_like = $meczedzis4['unlike'];
  13. $dzisspot_unlike = $meczedzis4['count'];
  14. }
  15.  
  16. echo "$dzisspot_unlike<br/>
  17. $dzisspot_like<br/>
  18. $dzisspot_standard<br/>
  19. $dzisspot_premium<br/>
  20. $dzisspot_ikona<br/>
  21. $dzisspot_godzina<br/>
  22. $dzisspot_data<br/>
  23. $dzisspot_tytul";
  24. }


I w takiej formie wyświetla mi jedynie title, matches_startd, matches_starth.
Gdy tworzyłem jedno zapytanie na pętli while (pobieranie z wszystkich tabel na raz) powielało mi po kilka razy lub w ogóle nie działało.
Czy może ktoś mi w tym pomóc?
Z góry dziękuję za pomoc.

Ten post edytował d0m1n1k_ 1.07.2014, 14:31:43


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Jeśli nie masz nagłówków między meczami (a w kodzie który podałeś nie masz) to możesz to zrobić prościej: jednym zapytaniem za pomocą JOIN
Go to the top of the page
+Quote Post
d0m1n1k_
post
Post #3





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Dzięki - podziałało smile.gif


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
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 Aktualny czas: 21.08.2025 - 18:03