Date tre tabelle (events, Personaggio e Messaggi) dovrei concatenarle al fine di avviare una notifica.
Posto prima il codice e poi la spiegazione:

Codice PHP:
$MyQuery = "Select * FROM events WHERE Autore = '".pars($pg)."' ORDER BY date";
$Result = mysql_query($MyQuery);
$rs = mysql_fetch_array($Result);
$day = $rs["day"];
$month = $rs["month"];
$year = $rs["year"];
$title = $rs["title"];
$event = $rs["event"];

//Richiamo Ultima_Prenotazione dalla tabella Personaggio//

$MySql = "SELECT Ultima_Prenotazione FROM Personaggio";
$MySql .= " WHERE Nome = '".pars($_SESSION['Login'])."'";
$Result = mysql_query($MySql);
$rs2 = mysql_fetch_array($Result);
$Ultima_Prenotazione = "".$rs2["Ultima_Prenotazione"];
$rs2->close;

//Se non risulta almeno una notifica nell'arco delle 12 ore, vado avanti)

$query = mysql_num_rows(mysql_query("SELECT * FROM Messaggi WHERE Destinatario = $pg AND DATE_ADD(Spedito, INTERVAL 12 HOUR) >= NOW() AND Titolo == 'Prenotazione'"));
if (
$query == 0) {

//Controllo se Ultima Prenotazione è inferiore a oggi

if (($Ultima_Prenotazione."") < strftime("%Y-%m-%d")) {
if (
checkdate((int)$month, (int)$day, (int)$year)) {

//Se è oggi, avvio il messaggio

if ($year.$month.$day === date('Ymd')) {
$MySqlM="INSERT INTO Messaggi (Mittente, Destinatario, Spedito, Testo, Titolo) VALUES ('AI', '$pg', NOW(), 'Hai una $title con $event . Controlla su <b>Prenotazione</b>', 'Prenotazione')";
$resulto = mysql_query($MySqlM);

$MySqlM="INSERT INTO Messaggi (Mittente, Destinatario, Spedito, Testo, Titolo) VALUES ('AI', '$event', NOW(), 'Stando al registro di $pg , oggi hai una $title con lui.', 'Prenotazione')";
$resulto = mysql_query($MySqlM);

$MySqlN = "UPDATE Personaggio SET Ultima_Prenotazione = '".strftime("%Y-%m-%d %H:%M:%S")."' WHERE Nome = '".pars($_SESSION['Login'])."'";
mysql_query($MySqlN);
$MySqlN = "UPDATE Personaggio SET Ultima_Prenotazione = '".strftime("%Y-%m-%d %H:%M:%S")."' WHERE Nome = $event";
mysql_query($MySqlN);
}
}
}
}
Sostanzialmente, attraverso la tabella event si avvia la prenotazione, scegliendo la data e il nome del prenotato.
Arrivati al giorno X, se non risulta nessuna notifica precedente, si dovrebbe inviare un promemoria ad entrambi settando il campo Ultima_Prenotazione che blocca eventuali loop.

Solo che non funziona.
Credo di aver fatto un mappazzone, come direbbe il buon Barbieri.