Bonjour à tous,
Voilà, j'ai besoins de vos éclairages; j'ai créé un site immobilier et je veux faire une alerte mail pour que mes acheteurs potentiels puissent mettre leurs preferences et recevoir automatiquement un mail lorsqu'un nouveau bien correspondant à leurs critères.
J'ai créé une table acheteur et un table preferences et biens.
L'inscription fonctionne très bien mais j'ai un souci avec mon alerte car quelque soit les critères, on reçoit tous les biens de la base de donnée.
Je n'y comprends rien, si quelqu'un pouvait m'aider. Merci encore pour votre aide. Je vous laisse mon script php pour que vous puissiez l'analyser.
<?php require_once('connexion.php'); ?>
<?php
$dateA = date("Y-m-d H:i:s" );
//recuperer les donnees du formulaire
$identifiant = isset($_REQUEST["identifiant"]) ? $_REQUEST["identifiant"] : '';
$pass = isset($_REQUEST["pass"]) ? $_REQUEST["pass"] : '';
$civ = isset($_REQUEST["civ"]) ? $_REQUEST["civ"] : '';
$nom = isset($_REQUEST["nom"]) ? $_REQUEST["nom"] : '';
$prenom = isset($_REQUEST["prenom"]) ? $_REQUEST["prenom"] : '';
$email = isset($_REQUEST["email"]) ? $_REQUEST["email"] : '';
$tel = isset($_REQUEST["tel"]) ? $_REQUEST["tel"] : '';
$cp = isset($_REQUEST["cp"]) ? $_REQUEST["cp"] : '';
$gestion = isset($_REQUEST["gestion"]) ? $_REQUEST["gestion"] : '';
$type1 = isset($_REQUEST["type1"]) ? $_REQUEST["type1"] : '';
$type2 = isset($_REQUEST["type2"]) ? $_REQUEST["type2"] : '';
$type3 = isset($_REQUEST["type3"]) ? $_REQUEST["type3"] : '';
$type4 = isset($_REQUEST["type4"]) ? $_REQUEST["type4"] : '';
$type5 = isset($_REQUEST["type5"]) ? $_REQUEST["type5"] : '';
$type6 = isset($_REQUEST["type6"]) ? $_REQUEST["type6"] : '';
$type7 = isset($_REQUEST["type7"]) ? $_REQUEST["type7"] : '';
$type8 = isset($_REQUEST["type8"]) ? $_REQUEST["type8"] : '';
$type9 = isset($_REQUEST["type9"]) ? $_REQUEST["type9"] : '';
$prixMin = isset($_REQUEST["prixMin"]) ? $_REQUEST["prixMin"] : '0';
$prixfMax = isset($_REQUEST["prixMax"]) ? $_REQUEST["prixMax"] : '0';
$surfMin = isset($_REQUEST["SurfMin"]) ? $_REQUEST["SurfMin"] : '0';
$surfMax = isset($_REQUEST["SurfMax"]) ? $_REQUEST["SurfMax"] : '0';
// ci-dessous on ins?re les infos dans particulier acheteur
$sql = "INSERT INTO particulier_a (pa_id, pa_identifiant, pa_nom, pa_prenom, pa_pass, pa_mail, pa_time) VALUES('','$identifiant','$nom', '$prenom', '$pass','$email','$dateA')";
$res = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$reqSel = "select max(pa_id) as idNewClient from particulier_a";
$resSel = mysql_query($reqSel);
$rowSel = mysql_fetch_assoc($resSel);
$idNewClient = $rowSel['idNewClient'];
//requete pour inserer dans la table preferences
$req = "INSERT INTO preferences (pref_id,pref_type1, pref_type2, pref_type3, pref_type4, pref_type5, pref_type6, pref_type7, pref_type8, pref_type9, pref_mode, pref_min, pref_max, pref_surfMin, pref_surfMax, pref_time) VALUES ('$idNewClient','$type1','$type2','$type3','$type4','$type5','$type6','$type7','$type8', '$type9','$gestion', '$prixMin', '$prixMax','$surfMin', '$surfMax', '$dateA')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
//requete qui compare les donn?es saisies avec celles dans la table biens
$comp = "SELECT * FROM biens WHERE bpa_mode = '$gestion' AND bpa_type='$type1'";
// et ensuite, je vais rajouter ou non des crit?res de s?lection ? ma requ?te suivant les param?tres
if($type2 != ''){$comp .= " OR bpa_type='$type2' ";}
if($type3 != ''){$comp .= " OR bpa_type='$type3' ";}
if($type4 != ''){$comp .= " OR bpa_type='$type4' ";}
if($type5 != ''){$comp .= " OR bpa_type='$type5' ";}
if($type6 != ''){$comp .= " OR bpa_type='$type6' ";}
if($type7 != ''){$comp .= " OR bpa_type='$type7' ";}
if($type8 != ''){$comp .= " OR bpa_type='$type8' ";}
if($type9 != ''){$comp .= " OR bpa_type='$type9' ";}
if($prixMin != '' && $prixMax != ''){$comp .= " OR bpa_tarif>=$prixMin AND"; $comp .= " bpa_tarif<=$prixMax";}
if($prixMin != '' && $prixMax == ''){$comp .= " OR bpa_tarif>=$prixMin";}
if($prixMax != '' && $prixMin == ''){$comp .= " OR bpa_tarif<=$prixMax";}
if($surfMin != '' && $surfMax != ''){$comp .= " OR bpa_superficie>=$surfMin AND"; $comp .= " bpa_superficie<=$surfMax";}
if($surfMin != '' && $surfMax == ''){$comp .= " OR bpa_superficie>=$surfMin";}
if($surfMax != '' && $surfMin == ''){$comp .= " OR bpa_superficie<=$surfMax";}
$resp = mysql_query($comp) or die('Flop'.$comp.'<br>'.mysql_error());
//$pouet = mysql_fetch_assoc($resp);
//echo "reference des biens qui correspondent : ".$pouet['bpa_ref'];
//if (!$row = mysql_fetch_assoc($resp)){
//}
//else {
while($row = mysql_fetch_assoc($resp)){
$ref = $row['bpa_ref'];
$typ = $row['bpa_type'];
$user = $row['bpa_user'];
$utilisateur = $row['bpa_pa'];
//fonction qui envoie le mail avec en corps de texte le lien qui correspond au bien
// on d?clare les param?tres du mail
$destinataire = $email;
$expediteur = "contact@immo-360.com";
$objet = "ajout de preference sur le site Immo 360";
$contenu = "<html><body>".
"<h3><i>Bonjour $civ $nom $prenom</i></h3>".
"Vous vous ?tes inscrit à l'alerte mail pour recevoir les biens qui vous correspondent par email<br/>".
"Vous trouverez ci-dessous des informations qui vont vous intéresser<br/>".
"<a href=\"http://immo-360.com/details.php?reference=$ref&idClient=$utilisateur&user=$user\">cliquez ici</a><br/>".
"reference : $ref c'est un bien de type : $typ<br/>".
"</body></html>";
//on envoie le mail
mail($destinataire, $objet, $contenu, "From: $expediteur\r\nReply-To: $expediteur\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n" );
// }
}?>