Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Wyświetlanie danych wg daty
Forum PHP.pl > Forum > Przedszkole
tomkoff
Witam!
Mam takie pytanko. Próbuję napisać taki skrypt który będzie pobierał z tabeli 'koncerty' 6 najbliższych terminów koncertów i wyświetlał je na stronie. Póki co udało mi się dojść do tego, że koncerty których data jest starsza niż aktualna są pomijane... te które mają się odbyć są wyświetlane prawidłowo, tylko nie wiem jak zrobić, żeby skrypt pobierał tylko 6 najbliższych, bo póki co to wyświetla wszystkie jakie są w tabeli.
Oto mój kod:

  1. <?php  // pobieranie danych z tabeli KONCERTY
  2.  
  3.  
  4. $query="SELECT * FROM koncerty ORDER BY data ASC";
  5. $result=mysql_query($query);
  6. $num=mysql_numrows($result);
  7.  
  8.  
  9. ?>
  10. <?php $i=0;
  11.  
  12. while ($i < $num) { 
  13. $miasto=mysql_result($result,$i, "miasto");
  14. $data=mysql_result($result,$i, "data");
  15. $zespol_glowny=mysql_result($result, $i, "zespol_glowny");
  16.  
  17.  
  18.  
  19.  ?>
  20. </span> <table width="100%" border="0" cellpadding="0" cellspacing="0">
  21.  
  22.  <?php if(date("Y-m-d")<=$data) { echo ("<tr>
  23. <td width='9%'> </td>
  24. <td width='91%'><span class='style3'>
  25.  
  26.  
  27. $data $miasto </span><br>
  28. $zespol_glowny </td>
  29. </tr>
  30. <tr>
  31. <td> </td>
  32. <td> </td>
  33. </tr>"); } ?>
  34.  
  35. <?
  36. $i++;
  37. }
  38.  
  39. echo "</table>"; ?>
radziowi
Sprobuj tak:
  1. <?php
  2. SELECT *
  3. FROM koncerty
  4. ORDER BY data ASC 
  5. LIMIT 0 , 6
  6. ?>

lub jeśli chcesz najnowsze to
  1. <?php
  2. SELECT *
  3. FROM koncerty
  4. ORDER BY data DESC
  5. LIMIT 0 , 6
  6. ?>
tomkoff
Niestety nie działa tak, jakbym chciał sad.gif
Bo jeśli dopiszę to "LIMIT 0, 6" to on po prostu sprawdza tylko pierwsze 6 rekordów a resztę olewa (przynajmniej z tego co widzę). I w rezultacie jeżeli w tych pierwszych sześciu rekordach są np. dwa koncerty które już się odbyły to na stronie zostaną wyświetlone tylko 4 rekordy.

Heja.. już sobie z tym poradziłem smile.gif Po prostu dodałem sobie pomocniczą zmienną zliczającą ile razy dany rekord został wyświetlony na ekranie, no i instrukcję:

if($k<7) { instrukcja wyświetlania rekordu }

Wiem, że na pewno dało się to zrobić dużo prościej, ale ja się tym "bawię" dopiero od tygodnia, więc cieszę się, że w ogóle działa smile.gif

pzdr
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.