ALERTE MAIL

Signaler
Messages postés
58
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
23 janvier 2011
-
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonjour,
je suis en train de créer une alerte mail pour un site immobilier.

Dans une premiere requete je recupere tous les mails clients enregistres
dans une deuxieme requete je compare les critères des clients avec la base de donnée.
A
partir de tout ca je rempli une table provisoire dans laquelle j'insere
les informations à envoyer et les mails des clients concernés.

Mon souci est de réussir n'envoyer qu'un seul mail au client qui regroupe toutes les annonces répondants a ses critères.

voici le code :

<?php
include '../admin/connexion.php';

// premiere requete je recupere tous les mails des clients enregistres
$cont_mail = "SELECT * FROM alerte_mail ";

$query_mail = mysql_query($cont_mail);

while($result = mysql_fetch_array($query_mail))
{

$transaction_client = $result['transaction_client'];
$type_client = $result['type_client'];
$surface_min_client = $result['surface_min_client'];
$surface_max_client = $result['surface_max_client'];
$nbpiece_min_client = $result['nb_piece_min_client'];
$nbpiece_max_client = $result['nb_piece_max_client'];
$prix_min_client = $result['prix_min_client'];
$prix_max_client = $result['prix_max_client'];
$ville_client = $result['ville_client'];
$cp_client = $result['cp_client'];
$dpt_client = $result['dept_client'];
$mail_client = $result['mail_client'];

$where =" fkid_transaction = '".$transaction_client."' ";

if ($type_client!=0){$where ."AND fkid_type '".$type_client."'";
}
//
if ($surface_min_client!=0){
$where .=" AND surface_bien >= '".$surface_min_client."' ";
}
if ($surface_max_client!=0){
$where .=" AND surface_bien <= '".$surface_max_client."'";
}
//
if ($nbpiece_min_client!=0){
$where .=" AND nb_piece_bien >= '".$nbpiece_min_client."'";
}
if ($nbpiece_max_client!=0){
$where .=" AND nb_piece_bien <= '".$nbpiece_max_client."'";
}
//
if ($prix_min_client!=0){
$where .=" AND prix_bien >= '".$prix_min_client."'";
}

if ($prix_max_client!=0){
$where .=" AND prix_bien <= '".$prix_max_client."'";
}
//
if ($ville_client!=0){
$where .=" AND ville_bien = '".$ville_client."'";
}
if ($cp_client!=0){
$where .=" AND code_postal_bien LIKE '".$cp_client."%'";
}
if ($dpt_client!=0){
$where .=" AND fkid_departement = '".$dpt_client."'";
}

// deuxieme requete, je selectionne les biens correspondants
$select_alerte = "

SELECT DISTINCT(b.fkid_transaction), surface_bien, nb_piece_bien,
prix_bien, date_dispo_bien, description_bien,date_entree_bien,
ville_bien, code_postal_bien, fkid_type, fkid_departement
FROM
bien as b, alerte_mail as am
WHERE ".$where." AND mail_client ='".$result['mail_client']."'";

$query_alerte = mysql_query($select_alerte);

while($row_alerte = mysql_fetch_array($query_alerte))
{

$email = $result['mail_client'];
$transaction = $row_alerte['fkid_transaction'];
$type = $row_alerte['fkid_type'];
$surface = $row_alerte['surface_bien'];
$nbpiece = $row_alerte['nb_piece_bien'];
$prix = $row_alerte['prix_bien'];
$ville = stripslashes($row_alerte['ville_bien']);
$cp = $row_alerte['code_postal_bien'];
$dpt = $row_alerte['fkid_departement'];

// je rempli la table provisoire
$stock_alerte
= "INSERT INTO stock_alerte (mail_client, transaction_client,
type_client, surface_client, nb_piece_client, prix_client,
ville_client, cp_client, dept_client)
VALUES ('".$email."',
'".$transaction."', '".$type."', '".$surface."', '".$nbpiece."',
'".$prix."', '".$ville."', '".$cp."', '".$dpt."')
;";

$req_stock_alerte = mysql_query($stock_alerte);
//echo $stock_alerte;
}

}

//////////////////// la requete de mail ! on va chercher les infos ds la table provisoire
$destock_alerte = " SELECT * FROM stock_alerte GROUP BY mail_client
";
$req_destock_alerte = mysql_query($destock_alerte);
while ($alerte = mysql_fetch_array($req_destock_alerte)){

$objet ="Message via le formulaire de contact de votre site internet";
$destinataire = $alerte['mail_client'];
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: contact@servicimmo.com";
$email2 = $alerte['mail_client'];
$message = "";
$message.= $alerte['transaction_client'].$alerte['ville_client'].$alerte['surface_client'];

//mail($destinataire,$objet,$message,$headers);

}

Voila si quelqu'un pouvait me dépanner.....
Par avance merci de votre aide !!

1 réponse

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
array_unique...
http://de3.php.net/manual/fr/function.array-unique.php
--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie