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
$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
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
Luky:
Proc to nedoplnis primo sql prikazem a porovnavas to v php?
Alphard
Profil
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
Luky:
Děkuji moc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: