Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] układanie wyniku według daty
Monotematyczny
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 7.08.2013

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


Siemka to znowu Ja ;p

Więc tak piszę sobie skrypt który ma mi układać rekordy według daty ale chciałbym aby w pierwszej kolejności pokazywał mi rekordy gdzie data to maks + 3 dni a dopiero potem następne.

w praktyce jak bym to chciał gdy dam instrukcje w zapytaniu ASC

2014-10-29 - ignorowany
2014-10-28 - ignorowany
2014-10-27 - ignorowany
2014-10-26 - ten trzeci
2014-10-25 - ten drugi
2014-10-24 - załóżmy że ta data jest dzisiejszą. i dlatego chciałbym aby ten rekord był wyświetlany jako pierwszy
2014-10-23 - to jest data przeszła więc chciałbym aby był pomijany przez skrypt
2014-10-22 - to jest data przeszła więc chciałbym aby był pomijany przez skrypt

zapytanie wygląda tak
  1. $results_new_relations = mysql_query("SELECT id, title, text, date, micro_img FROM new_relations ORDER BY date ASC LIMIT 3");


czy może coś w pętli while powinienem dodać np jakiś warunek ? proszę o sugestię....

  1. $results_new_relations = mysql_query("SELECT id, title, text, date, micro_img FROM new_relations ORDER BY date ASC LIMIT 3");
  2.  
  3.  
  4. echo "<div style='float: left; width: 318px;'>
  5. <div ><img style='margin-bottom: 1px; margin-top: 5px; margin-left: 50px;' src='img/09.png'></div> ";
  6.  
  7. while ($new_relations_panel = mysql_fetch_array($results_new_relations)) {
  8. if($new_relations_panel['date'] >= date("Y-m-d")){
  9. echo "<div class='el'>
  10. <div style='padding-top: 5px;'><div style='padding-left: 13px;float: left;'><img src='img/14.png'></div>
  11. <div style='float: left; margin-left: 4px;'>
  12. <div style='font-family: Arial; font-size: 11px; color: #FFFFFF;'><b>World cyber games 2012</b></div>
  13. <div style='width: 210px; line-height: 10px; font-family: Arial; font-size: 10px; color: #FFFFFF;'>12 już z kolei turniej gier multiplayer,który odbedzie sie w warszawie </div>
  14. <div style='width: 210px; font-family: Arial; font-size: 10px; color: #ff9600;'>Data: ".$new_relations_panel['date']." <font style='float: right; margin-right: 13px; color: #ff9600; font-size: 11px;'><b>Więcej...</b></font></div>
  15. </div>
  16. </div>
  17. <div style='clear: both; '><img style='margin-left: 11px; margin-top: 7px;' src='img/13.png'></div>
  18. </div>";
  19. }
  20. }
  21.  
  22.  
  23. echo "</div>


do tej pory zrobiłem takie coś ale jak wyżej widać pokaże mi tylko 2 wyniki ponieważ pobierajć 3 wyniki pobiera 3 pierwsze z bazy gdzie tylko 2 spełniają warunek więc mam dwa rekordy tylko wyświetlone jak sprawić aby już wcześniej mi stawiało taki warunek w zapytaniu bądź po sprawdzeniiu owego warunku mi wykonywało pętle razy 3 dopiero questionmark.gif

Ten post edytował Monotematyczny 5.07.2014, 23:38:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


  1. SELECT id, title, text, date, micro_img FROM new_relations
  2. WHERE date >= CURDATE()
  3. ORDER BY date ASC
  4. LIMIT 3


Tak?
Go to the top of the page
+Quote Post
Monotematyczny
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 7.08.2013

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


Dokładnie tak to zrobiłem kombinując na lewo i prawo wink.gif ale dzięki i tak za odpowiedź. Tylko zamiast CURDATE() użyłem daty odczytywanej z funkcji date() ale już poprawiłem na CURDATE()

Ten post edytował Monotematyczny 6.07.2014, 00:26:45
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: 20.08.2025 - 17:44