Autor Zpráva
Darius
Profil *
Dobrý večer, chtěl bych mazat příspěvky starší jak 2 měsíce, musí se to provádět rconem nebo jak byste to nejlépe řešili vy?
Alphard
Profil
Smazání starých příspěvků lze navázat například k vložení nového příspěvku, kdybyste neměl cron k dispozici. Ale jinak se mi to zdá jako typická "uklízecí" akce pro cron.

Ještě tady je alternativa nic nemazat, pouze staré příspěvky nezobrazovat. Vhodné řešení záleží na konkrétním systému.
Sir Tom
Profil
Darius:
Také dobrý večer (teď již den),

určitě nemazat, ale nechat je v databázi (pokud to umožní) a jak píše Alphard nezobrazovat je (za pomoci podmínky, která bude porovnávat rozdíl mezi aktuálním dnem a dnem vytvoření a časovým intervalem 2 měsíce).
Darius
Profil *
Sir Tom:
Právě tady de o to, nemám problém udělat podmínku mezi aktuálním dnem a vytvoření..., ale nevím jak tam, mám implementovat rozdíl 2 měsíce
Alphard
Profil
select * from tabulka where date > date_sub(now(), interval 2 month);
Darius
Profil *
tak to zkouším, nějak takto a píše to Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ............ on line 4
<?php
$sql = "SELECT * FROM novinky WHERE date > date_sub(now(), interval 2 month)";
$ret = mysql_query($sql);
while ($row = MySQL_Fetch_Array($ret)) {
echo"".$row['nadpis']."";
 }
 ?>
Nevíte včem spočívá problém?
DJ Miky
Profil
mysql_query() vrátí false (což je typu boolean), pokud se při provádění dotazu vyskytne nějaká chyba. Tu si můžeš vypsat přidáním echo mysql_error(); za řádek s mysql_query.
Darius
Profil *
Díky už mi to funguje... nyní, ale mi to vypisuje všechny záznamy nikoliv pouze starší 2 měsíce od aktuálního data
Tori
Profil
Darius:
Sloupeček date je typu DATE / DATETIME?
Darius
Profil *
Tori:
ano, je typu DATETIME
Alphard
Profil
Jestli se ten sloupec jmenuje date, měl by se raději escapovat (zpětnými apostrofy), nešťastně jsem zvolil ten příklad.
Jinak teda nevidím důvod, proč by ta podmínka nefungovala, ještě to zkontrolujte.
Darius
Profil *
sloupec se jmenuje datum
$sql = "SELECT * FROM novinky WHERE datum < date_sub(now(), interval 2 month);";
$ret = mysql_query($sql);
Alphard
Profil
Otočil jste nerovnost, stejně by se ale měly vypisovat jen ty nejstarší, ne všechny.

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:

0