Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlanie danych z bazy z podziałem na dni
arturpiotrowski
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 6.12.2016

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


Wybieram sobie z bazy dane takim oto zapytaniem:
Kod
SELECT name,day,odm FROM tabela ORDER BY day,odm

Myślę że nigdy w tabeli nie będzie więcej jak 50 rekordów.
Potrzebuje mieć wynikowy kod w podobnej formie:
  1. <div>
  2. <div class='row' id='day-1'>
  3. <div class="row">
  4. <div class="col-3">[odm]</div>
  5. <div class="col-9">[name]</div>
  6. </div>
  7. <div class="row">
  8. <div class="col-3">[odm]</div>
  9. <div class="col-9">[name]</div>
  10. </div>
  11. </div>
  12. <div class='row' id='day-2'>
  13. <div class="row">
  14. <div class="col-3">[odm]</div>
  15. <div class="col-9">[name]</div>
  16. </div>
  17. <div class="row">
  18. <div class="col-3">[odm]</div>
  19. <div class="col-9">[name]</div>
  20. </div>
  21. <div class="row">
  22. <div class="col-3">[odm]</div>
  23. <div class="col-9">[name]</div>
  24. </div>
  25. </div>
  26. // dalsze dni
  27. // ...
  28. <div class='row' id='day-7'>
  29. <div class="row">
  30. <div class="col-3">[odm]</div>
  31. <div class="col-9">[name]</div>
  32. </div>
  33. </div>
  34. </div>

udało mi się na te chwilę coś takiego napisać i stanąłem:
  1. $results = ; // wynik powyższego zapytania select
  2. if(!empty($results)) {
  3. $day = 0;
  4. $content .= '<div>';
  5. foreach ($results as $row ){
  6. if($row->day<>$day){
  7. $content .= '<div class="row" id="day-'.$row->day.'">';
  8. /**
  9. * tu pewnie jakaś pętla foreach()
  10. * zwracająca name i odm dla danego day
  11. * tylko nie wiem jak ją zapisać
  12. **/
  13. $content .= '</div>';
  14. }
  15. $day = $row->day;
  16. }
  17. $content .= '</div>';
  18. }

Pomóżcie proszę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Niree
post
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Przecież już jedną pętlę wykonałeś, po co chcesz robić pętlę w pętli?
  1. if($row->day<>$day){


Tego warunku nie rozumiem (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
arturpiotrowski
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 6.12.2016

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


Cytat(Niree @ 26.03.2017, 16:11:46 ) *
Przecież już jedną pętlę wykonałeś, po co chcesz robić pętlę w pętli?
  1. if($row->day<>$day){


Tego warunku nie rozumiem (IMG:style_emoticons/default/biggrin.gif)

  1. if($row->day<>$day)

Porównuje czy dzień w bazie danych nie ma numeru takiego jak ten przypisany do zmiennej $day żeby wyświetlać tylko raz dany dzień, jakby było 50 rekordów to poco mi wyświetlać 50 razy diva z numerem dnia? Pewnie zamiast <> mogłem dać !== też by robiło to samo.

Wydawało mi się że tak powinienem to zrobić że powinna być koleja pętla która iteruje po rekodach z danego dnia, ale przecież nie napisałem że tak ma być napewno (IMG:style_emoticons/default/smile.gif) skoro da się inaczej to chętnie poznam sposób.

Ten post edytował arturpiotrowski 26.03.2017, 19:11:29
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: 7.10.2025 - 13:41