Bonjour,
J’aimerais sélectionner toutes les adresses courriel qui ne sont pas dans la table.
Pouvez-vous me dire ce qui ne fonctionne pas dans mon code ?
Le but est de récupérer les adresses courriel des parents avec les Id des garderies qui n’ont pas déjà été avisés (qui ne sont pas dans la table yellow_Alert_sended).
Quand l’avis courriel est envoyé, l’envoie est logé dans yellow_alert_sended et on s’y réfère pour ne pas envoyer un autre avis en double lors de la prochaine exécution.
Le problème est qu’aussitôt qu’une ligne est trouvée dans la table yellow_alert.sended, le script exit immédiatement sans continuer pour trouver les autres qui ne sont pas dedans.
Voici
merci d'avance pour votre aide
J’aimerais sélectionner toutes les adresses courriel qui ne sont pas dans la table.
Pouvez-vous me dire ce qui ne fonctionne pas dans mon code ?
Le but est de récupérer les adresses courriel des parents avec les Id des garderies qui n’ont pas déjà été avisés (qui ne sont pas dans la table yellow_Alert_sended).
Quand l’avis courriel est envoyé, l’envoie est logé dans yellow_alert_sended et on s’y réfère pour ne pas envoyer un autre avis en double lors de la prochaine exécution.
Le problème est qu’aussitôt qu’une ligne est trouvée dans la table yellow_alert.sended, le script exit immédiatement sans continuer pour trouver les autres qui ne sont pas dedans.
Voici
//get the info yellow_alert (parents)
$qparaa = "select yellow_alert.email_parents from yellow_alert where AlertID";
$rparaa = mysql_query($qparaa) or die(mysql_error());
$aparaa = mysql_fetch_array($rparaa);
//get the info yellow_Agents_garderies
$qgarderies = "select yellow_agents_garderies.AgentID_garderies from yellow_agents_garderies where AgentID_garderies";
$rgarderies = mysql_query($qgarderies) or die(mysql_error());
$agarderies = mysql_fetch_array($rgarderies);
// verifier si le email a deja été envoyer selon la table de log yellow_alert_sended
$qnotsend = "select * from yellow_alert_sended where yellow_alert_sended.fusion != '$aparaa$agarderies' ";
$rnotsend = mysql_query($qnotsend) or die(mysql_error());
if(mysql_num_rows($rnotsend) > '0')
{
echo "exit car le email a déjà été envoyer";
exit();
}
// si non, on continue et on envoie les avis courriels a tous ceux qui ne sont pas dans la table yellow_alert_fusion….
//blabla…
// on log la table yellow_alert_sended..
//… exit..
J’ai essayé aussi le code suivant avec un NOT IN :
// vérifier les correspondances entre les annonces des garderies et les recherches(alert) des parents enregistrer.
// avec le NOT IN j’essaie d’exclure ceux qui sont déjà dans la table yellow_alert_sended.
$qexpa = "select * from yellow_alert, yellow_agents_garderies where
yellow_alert.statut_Alert = 'active' && yellow_agents_garderies.statut_annonceID = 'active' &&
yellow_alert.CategoryList = yellow_agents_garderies.CategoryID && yellow_alert.Provinces = yellow_agents_garderies.Provinces &&
yellow_alert.state = yellow_agents_garderies.state &&
'$asended' NOT IN ((select yellow_alert.email_parents from yellow_alert where AlertID)(select yellow_agents_garderies.AgentID_garderies from yellow_agents_garderies where AgentID_garderies))";
$rexpa = mysql_query($qexpa) or die(mysql_error());
if(mysql_num_rows($rexpa) > '0')
{
while($aexp = mysql_fetch_array($rexpa))
{
// on envoie les avis courriels au parents selon les correspondances entre les parents et les garderies sauf tous ceux qui sont dans la table yellow_alert_fusion
// blabla..
//….
}
}
{
echo "exit car le email a deja ete envoyer car il est déjà logé dans la table yellow_alert_sended";
exit();
}
merci d'avance pour votre aide