[ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
vymazanie inzeratu

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
NapísalOffline : 12.01.2008 10:10 | vymazanie inzeratu

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...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.09.06
Prihlásený: 05.01.16
Príspevky: 47
Témy: 0 | 0
Bydlisko: Bratislava,...
NapísalOffline : 12.01.2008 12:21 | vymazanie inzeratu

neopagan píše:
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.


Offline

Užívateľ
Užívateľ
vymazanie inzeratu

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 12.01.2008 12:49 | vymazanie inzeratu

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!


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.09.06
Prihlásený: 05.01.16
Príspevky: 47
Témy: 0 | 0
Bydlisko: Bratislava,...
NapísalOffline : 12.01.2008 12:56 | vymazanie inzeratu

Á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í.


 [ Príspevkov: 4 ] 


vymazanie inzeratu



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Notebook z inzeratu

v Obchody, reklamácie a právo

11

275

09.10.2011 20:06

Mireek

V tomto fóre nie sú ďalšie neprečítané témy.

Daň z inzerátu

v Obchody, reklamácie a právo

8

213

12.05.2013 13:55

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Bazos zmazanie topovaneho inzeratu

v Obchody, reklamácie a právo

9

384

08.07.2014 23:29

peto9110

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie

v Ostatné

5

377

20.11.2009 19:16

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie údajov

v Operačné systémy Microsoft

2

73

27.03.2013 20:11

tairikuokami

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie suboru

v Operačné systémy Microsoft

5

312

26.04.2008 10:34

jasonPC

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie hry

v Počítačové hry

1

168

09.08.2012 16:49

xsi69

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie programov

v Ostatné programy

1

350

09.02.2014 10:56

Dadko

V tomto fóre nie sú ďalšie neprečítané témy.

vymazanie užívateľa

v Správy pre vedenie fóra

12

1412

04.03.2008 19:23

_DanWer_

V tomto fóre nie sú ďalšie neprečítané témy.

vymazanie wifi?

v Siete

3

144

15.09.2013 10:30

Daron

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie Windowsu

v Pevné disky a radiče

19

1597

24.03.2011 13:55

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie priečinku

v Ostatné programy

1

85

27.02.2013 20:17

focko

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie nevymazateľného súboru

v Ostatné programy

4

500

10.02.2014 9:20

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

vymazanie posledneho zaznamu

v Databázy

7

499

29.08.2009 12:55

pogo

V tomto fóre nie sú ďalšie neprečítané témy.

Nefunkčné vymazanie cookies

v PHP, ASP

0

75

30.04.2017 21:45

gold604

V tomto fóre nie sú ďalšie neprečítané témy.

Samsung - vymazanie kontaktov

v Smartfóny a tablety

6

803

27.07.2013 15:10

shiro



© 2005 - 2017 PCforum, edited by JanoF