IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @199
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Dokonalosť v jednoduchosti

Wyse T10 – dokonalosť, na ktorú ste čakali. www.ts.avnet.com

Hľadáte CRM softvér?

SunSoft.CRM • množstvo funkcií • možnosť individuálnych úprav • výhodná cena crm.sunsoft.sk

Sprostredkovávajte hypotéky

Začnite sprostredkovávať hypotéky s úspešným hypotekárnym centrom! www.SprostredkovanieUverov.sk

Čerstvý a voňavý domov?

Testovali sme Ambi Pur. Pozrite sa na prekvapivé výsledky experimentu! youtube.com/AmbiPur_SK

Získajte bonus 50 €

Prejdite na ktorýkoľvek program s platbou na faktúru. Len cez e-shop. www.o2.sk

vymazanie inzeratu

Zaslať odpoveď
AutorSpráva
neopagan
Užívateľ
Užívateľ

Založený: 07.08.2006
Príspevky: 681

PríspevokZaslal: So 12.01.08 11:10Odpovedať s citátomNávrat hore

Vedel by mi niekto poradit s nasledovnym problemom?

Mam inzertny portal, kde sa vkladane inzeraty ukladaju do databazy. Chcel by som dosiahnut, aby sa vlozeny inzerat po 3 mesiacoch z databazy automaticky zmazal.

Moja myslienka realizacie je:

Pri vlozeni inzeratu sa do premennej datum uklada spolu s inzeratom aj datum vlozenia. Vytvoril by som teda premennu datum_zmazania, ktorej hodnota by bola datum vlozenia+3 mesiace. To zatial viem zvladnut.

Potom by vsak mal nasledovat script, ktory by porovnaval aktualny datum s premennou datum_zmazania kazdy den trebars o 1.00 po polnoci. No a nasledne ak sa toto zhoduje, by vymazal z databazy konkretny inzerat. Pravdepodobne sa to bude dat pomocou Cron-u. Neviem vsak este ako presne to funguje, s cronom som este nerobil. Problem je vsak, ze mam okolo 100 kategorii - teda tabuliek v databaze, a to by musel prehladavat datumy vo vsetkych tabulkach...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Codik
Užívateľ
Užívateľ

Založený: 27.09.2006
Príspevky: 47
Bydlisko: Bratislava, Slovenská republika

PríspevokZaslal: So 12.01.08 13:21Odpovedať s citátomNávrat hore

neopagan napísal:
Pri vlozeni inzeratu sa do premennej datum uklada spolu s inzeratom aj datum vlozenia. Vytvoril by som teda premennu datum_zmazania, ktorej hodnota by bola datum vlozenia+3 mesiace. To zatial viem zvladnut.


Dúfam, že som to správne pochopil. Ak máš v tabuľke stĺpec dátum, ktorý reprezentuje dátum vloženia, je zbytočné pridávať ďalší stĺpec, ktorý bude obsahovať prakticky rovnaké dáta. Lepšie sa to dá dosiahnuť porovnávaním v SQL príkaze, ktorý bude mazať z tabuľky inzeráty staršie ako 3 mesiace.

kód:
DELETE FROM kategoria WHERE ABS(DATEDIFF(datum, NOW())) >= 90;


V SQL príkaze je datum stĺpec, v ktorom je uložený dátum pridania. Budú sa mazať inzeráty, ktoré sú staré 90 dní.

Kvôli návrhu databázy, aký opisuješ, budeš musieť spustiť 100 SQL príkazov.
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mail
neopagan
Užívateľ
Užívateľ

Založený: 07.08.2006
Príspevky: 681

PríspevokZaslal: So 12.01.08 13:49Odpovedať s citátomNávrat hore

Aha, dakujem pekne! Takto to vyzera ovela jednoduchsie. To som teda netusil, ze sa to da aj takto. Potom uz len nacasovat pomocou cronu ten script, v ktorom bude zahrnute to DELETE pre vsetky tabulky. Nemylim sa?

Este raz diky Codik!
Zobraziť informácie o autoroviOdoslať súkromnú správu
Codik
Užívateľ
Užívateľ

Založený: 27.09.2006
Príspevky: 47
Bydlisko: Bratislava, Slovenská republika

PríspevokZaslal: So 12.01.08 13:56Odpovedať s citátomNávrat hore

Áno, je to tak ako hovoríš. No a na použitie CRONU máš prakticky 2 možnosti (aj viac ).

1. Spúšťať ho každý deň.

2. Spúšťať ho napr. raz za týždeň. A aby sa ti nezobrazovali staršie inzeráty na stránkach, zmeníš SQL príkazy, ktoré ich vypisujú tak, že tam pridáš podobnú podmienku ako v predchádzajúcom SQL príkaze.
kód:
SELECT * FROM kategoria WHERE ABS(DATEDIFF(datum, NOW())) < 90;


Záleží od tvojich možností.
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mail
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd