Vymazání příspěvku v závislosti na datu...
8 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
začínám dělat stránky o autostopu a mám databázi, kam uživatel přes formulář zapisuje data jako: _odkud_ _kam_ atd... ale hlavně _kdy_ a to _kdy_ zapisuje jako datum ve tvaru 0000-00-00 a já bych chtěl, aby se po uplynutí 1 dne od tohoto data tento příspěvek smazal, abych to tam neměl zasekaný cestama, který už měly proběhnout poradíte? dík. k.
-
já osobně bych to nedělal takto, pokud to zapisujes do DB, zvol si typ INT a davej to tam ve tvaru sekundy od roku 1970. Potom udelej vzdy kdyz nekdo prijde na stranku tak dej aby se vsechny ktery jsou starsi nez 24 hod vymazali... I´s to easy
-
a jak udělat to větší než 24 hodiny? nebyl by příkládek? předem dík:) k.
-
Byl by prikladek ... if ( (time() - $lt_ulozeny_cas) > (24*60*60) ) ... Radek
-
No, já to udělal takto. nemám sice den, ale týden, ale to už je fuk $iinterval načítám z config souboru a má hodnotu 7 to mi zajistí, že 7 dnů budou členové aktivní. Příkaz vybere z databáze všechny členy, kteří nemají datum registrace (sloupec dateofreg) starší než 7 dnů, nebo mají natvrdo od admina nastavenu neomezenou platnost registrace. To řazení už je jenom pro lepší orientaci v seznamu. SELECT * FROM tasting_recip WHERE (dateofreg >= DATE_SUB(CURRENT_DATE, INTERVAL $interval DAY)) OR active = 'Y' ORDER BY $razeni $jak Takže pro tvou potřebu by mohlo být DELETE * FROM tabulka WHERE (datumprispevku >= DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)) A je to. Sloupec datumprispevku musíš mít jako DATE ve formátu 0000-00-00, tak jak to mám já. Lépe se pak s tím datumem dělá dále ve skriptu. A ten dotaz bys mohl volat vždy, když by byl požadavek na výpis cest, aby se staré cesty smazaly ještě před tím, než je někomu vypíšeš.
-
jo jo:) taky jsem to tak nakonec udělal, akorát je mi divný, že tam máš >= to je nějaký divný ne? snad obráceně ne? já to mam takhle: DELETE FROM tabulka WHERE datum < DATE_SUB(CURDATE(),INTERVAL 1 DAY) to "datum" mam samozřejmě ve formátu DATE jo! a jeste ta hvězdička za DELETE - když jsem jí tam zpočátku měl, tak to nefungovalo:/ každopádně teď mi to každopádně šlape. dík:) k.
-
no jo no jo. Neuvědomil jsem si , že pro Tebe už den staré příspěvky jsou na nic. U mně je to zase tak, že ještě i ten sedmý den, je rregistrovanému k dispozici, prototo to "=". Hvězdička tam fakticky být nemá.
-
tak znova... předělal jsem databázi, takže datum teď nezadávám ve formátu DATE, ale jako INT počet sekund od 1970 - přehlednější atd.. jak ale teď smazat včerejší příspěvek? zkoušel jsem to takhle: $dnes = mktime (0,0,0); $sql = "DELETE FROM stopem WHERE kdy < $dnes"; ale to nefachá :( potřeboval bych něco obdobnýho jak na to? dík k.