dadedj
16-01-2006, 19:59
Ciao a tutti!
Devo realizzare un trigger che cancelli dei record di un database a una determinata data.
Innanzitutto volevo sapere se la funzione che deve fare il trigger la posso fare in qualsiasi linguaggio di programmazione...
...poi io ho scritto queste cose ma non ho la minima idea se funziona o meno:
CREATE TRIGGER AnnunciScaduti
ON immobili
For DELETE
EXECUTE PROCEDURE cancella();
Create function cancella() returns trigger as’
$data=getdate(); //ottengo la data odierna
$mese=$data['mon'];
$anno=$data['year'];
$giorno=$data['mday'];
$ora=$data['hours'];
$minuti=$data['minutes'];
$secondi=$data['seconds'];
$oggi=mktime(0,0,0,$mese,$giorno,$anno); //calcolo il mktime di oggi
//seleziono tutti gli annunci e prendo la loro data di inserzione già in formato mktime
$result=mysql_query("SELECT*FROM immobili",$db);
while($records=mysql_fetch_array($result)){
$datapubblicazione=$records['datainserzione'];
$datapubblicazione."<br>";
//prendo la durata dell'annuncio in giorni e la trasformo in secondi
$durata=$records['validità']."<br>";
//in 24 ore ci sono 86400 secondi
$validità=$durata*86400;
//prendo l'id dell'annuncio (o dell'immobile,a ogni annuncio corrisponde un immobile)
$i=$records['idImmobile'];
//calcolo la differenza della data odierna con la data di pubblicazione
$differenza=$oggi-$datapubblicazione;
//se la validità dell'annuncio è uguale alla differenza delle date cancello l'annuncio
if($differenza==$validità){
//cancello l'annuncio
$delete=mysql_query("DELETE FROM immobili WHERE idImmobile='$i'",$db);
}
}
‘ language phpsql;
secondo voi è almeno un po giusto? :mbe:
Devo realizzare un trigger che cancelli dei record di un database a una determinata data.
Innanzitutto volevo sapere se la funzione che deve fare il trigger la posso fare in qualsiasi linguaggio di programmazione...
...poi io ho scritto queste cose ma non ho la minima idea se funziona o meno:
CREATE TRIGGER AnnunciScaduti
ON immobili
For DELETE
EXECUTE PROCEDURE cancella();
Create function cancella() returns trigger as’
$data=getdate(); //ottengo la data odierna
$mese=$data['mon'];
$anno=$data['year'];
$giorno=$data['mday'];
$ora=$data['hours'];
$minuti=$data['minutes'];
$secondi=$data['seconds'];
$oggi=mktime(0,0,0,$mese,$giorno,$anno); //calcolo il mktime di oggi
//seleziono tutti gli annunci e prendo la loro data di inserzione già in formato mktime
$result=mysql_query("SELECT*FROM immobili",$db);
while($records=mysql_fetch_array($result)){
$datapubblicazione=$records['datainserzione'];
$datapubblicazione."<br>";
//prendo la durata dell'annuncio in giorni e la trasformo in secondi
$durata=$records['validità']."<br>";
//in 24 ore ci sono 86400 secondi
$validità=$durata*86400;
//prendo l'id dell'annuncio (o dell'immobile,a ogni annuncio corrisponde un immobile)
$i=$records['idImmobile'];
//calcolo la differenza della data odierna con la data di pubblicazione
$differenza=$oggi-$datapubblicazione;
//se la validità dell'annuncio è uguale alla differenza delle date cancello l'annuncio
if($differenza==$validità){
//cancello l'annuncio
$delete=mysql_query("DELETE FROM immobili WHERE idImmobile='$i'",$db);
}
}
‘ language phpsql;
secondo voi è almeno un po giusto? :mbe: