Salve,
ho un problema.Sto facendo un invio email controllato. Ho una tabella prenotazione, qui dentro ho i campi id_utente,data_fine(che è la data di fine prestito),data_scadenza(data di consegna che è null se ancora il libro non è stato consegnato),e avviso che può essere o 0 o 1(booleano) se 0 significa che l'email non è stata ancora inviata se 1 è stata già inviata.
Ora il mio problema è che fino ad adesso il le select le ho usate solo come una stampa di risultati e perciò operazioni per ogni singolo elemento non riesco a farle.
Ora posto i pezzetti di codice che sono in grado di fare.
Questo pezzetto funzionante recupera l'email di utente attraverso l'id_utente di prenotazione nella tabella utente dove c'è il campo email.
Codice PHP:
$sq = mysql_query("SELECT utente.email AS email FROM prenotazione,utente WHERE prenotazione.id_utente=utente.id_utente AND prenotazione.data_scadenza IS NULL") or die(mysql_error());
while($rs = mysql_fetch_array($sq))
echo $rs['email']."
";
questo la select per recuperare l'avviso
Codice PHP:
$query="SELECT (avviso) FROM prenotazione where data_scadenza is null";
$risultati=mysql_query($query);
$num=mysql_numrows($risultati);
mysql_close();
$i=0; while ($i < $num) {
$avviso=mysql_result($risultati,$i,"avviso");
echo "[b]$avviso[/b]
";
$i++; }
questo la select per recuperare la data di consegna
Codice PHP:
$queryd="SELECT (data_fine) FROM prenotazione where data_scadenza is null";
$risultatid=mysql_query($queryd);
$numd=mysql_numrows($risultatid);
mysql_close();
$id=0; while ($id < $numd) {
$data_fine=mysql_result($risultatid,$id,"data_fine");
echo "[b]$data_fine[/b]
";
$id++; }
quindi ora il controllo che deve avvenire se mancano due giorni alla "data_fine" e se l'avviso=0
Codice PHP:
$tempo=time()-$data_fine;
if($tempo<(60*60*24)*2 and $avviso='0')
{
// funzione invio email
}else
// non fa niente