Autor | Zpráva | ||
---|---|---|---|
Hajaxa Profil |
Zdravím,
vypisuju z tabulky několik položek. V databázy mám sloupec s datem přidání (pridano). Potřeboval bych, aby u položek za posledních 7 dnů vypsalo jednoduchý text (například Novinka). Díky za rady. |
||
Luky Profil |
#2 · Zasláno: 28. 1. 2013, 18:37:19
$sql = mysql_query("SELECT `nazev`, `pridano` FROM `novinky` "); While($data = mysql_fetch_array($sql)) { $datum_pridani_novinky = date("Y.m.d",strtotime($data["pridano"])); if(date("Y.m.d",strtotime("- 7 days")) <= $datum_pridani_novinky) { echo "Novinka ".$data["nazev"]." je nová"; } else { echo "Novinka ".$data["nazev"]; } } |
||
Alphard Profil |
#3 · Zasláno: 29. 1. 2013, 00:30:09
K uvedenému bych doplnil, že je přece úplně zbytečné formátovat timestamp na nějaký string. Lepší bude porovnat hned číselný formát.
Na druhou stranu, můžeme-li z databáze očekávat formát Y-m-d, není třeba tuto část převádět, a přizpůsobí se jen datum k porovnání. |
||
peta Profil |
#4 · Zasláno: 29. 1. 2013, 12:26:10
Luky:
Proc to nedoplnis primo sql prikazem a porovnavas to v php? |
||
Alphard Profil |
#5 · Zasláno: 29. 1. 2013, 12:45:29
peta [#4]:
Možná kvůli obecnosti. Sám jsem tady před lety často radil pro formátování data používat v sql dotazu date_format(), ale zkušenosti s rozsáhlými MVC projekty ukazují na relativně obecné a znovupoužitelné modely. Zdůraznit u něčeho, že je to novinka, je prezentační záležitost, řešil bych to pravděpodobně až v šabloně (pokud to neznamená např. jiné editační možnosti, ale to se mi tady nezdá). |
||
Hajaxa Profil |
#6 · Zasláno: 30. 1. 2013, 14:37:05
Luky:
Děkuji moc |
||
Časová prodleva: 11 let
|
0