Probleme de transmission de variable

Fermé
joki84 - 17 oct. 2007 à 15:24
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 17 oct. 2007 à 23:12
Bonjour,

J ai un soucis avec mon script. Je souhaite qu'un email me soit envoyé récapitulant les campagnes publicitaires qui ont ete supprimées.

Je recois l'email mais sans les variables...

Pourriez vous m aider svp ?

<?php 

include ('dbconnect.php');

$today=time(); //timestamp unix du jour
$today_plus_dix=$today-(3600*24*1); // auquel on rajoute le nombre de secondes correspondant a 10 jours
$date_peromption=date('Y-m-d',$today_plus_dix); // mise au format MySql

$from_email = "system@voilou.fr";
$entetemail = "From: $from_email \n"; // Adresse expéditeur
$entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
$msg = "Bonjour, \n";
$msg .= "\n";
$msg .= "Les campagnes suivantes ont été supprimées de la base :\n";
$msg .= "\n";
$msg .= "$liste";
$msg .= "\n";
$msg .= "Bonne Journée !\n";

$sql=mysql_query("SELECT * FROM campagne WHERE datefincampagne < '".$date_peromption."'") or die('Impossible de selectioner les données dans la base'.mysql_error());
//il faut sortir les donnees de la zone memoire par une boucle while
$liste=""; 
while($ligne=mysql_fetch_array($sql)){
 $liste.=$ligne['nomcampagne']." de la regie ".$ligne['regiecampagne']."\n"; // on construit la liste
mail('support@voilou.fr','Des campagnes ont été supprimées',$msg,$entetemail); 
}

$sql2=mysql_query("DELETE FROM campagne WHERE datefincampagne < '".$date_peromption."'") or die('Impossible de supprimer les données dans la base'.mysql_error());

// on ferme la connexion à mysql
mysql_close(); 

?>

7 réponses

pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
17 oct. 2007 à 16:03
c'est normal tu définis ta variable $msg avec la variable $liste avant d'effectuer ta requete SQL, donc $liste =""

<?php

include ('dbconnect.php');

$today=time(); //timestamp unix du jour
$today_plus_dix=$today-(3600*24*1); // auquel on rajoute le nombre de secondes correspondant a 10 jours
$date_peromption=date('Y-m-d',$today_plus_dix); // mise au format MySql

$sql=mysql_query("SELECT * FROM campagne WHERE datefincampagne < '".$date_peromption."'") or die('Impossible de selectioner les données dans la base'.mysql_error());
//il faut sortir les donnees de la zone memoire par une boucle while
$liste="";
while($ligne=mysql_fetch_array($sql)){
$liste.=$ligne['nomcampagne']." de la regie ".$ligne['regiecampagne']."\n"; // on construit la liste
mail('support@voilou.fr','Des campagnes ont été supprimées',$msg,$entetemail);
}

$from_email = "system@voilou.fr";
$entetemail = "From: $from_email \n"; // Adresse expéditeur
$entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
$msg = "Bonjour, \n";
$msg .= "\n";
$msg .= "Les campagnes suivantes ont été supprimées de la base :\n";
$msg .= "\n";
$msg .= "$liste";
$msg .= "\n";
$msg .= "Bonne Journée !\n";

$sql2=mysql_query("DELETE FROM campagne WHERE datefincampagne < '".$date_peromption."'") or die('Impossible de supprimer les données dans la base'.mysql_error());

// on ferme la connexion à mysql
mysql_close();

?>
0
Bonjour,

J avais essaye comme ca mais du coup cela m'envoie un email completement vierge...c est pour cela que j'avais placer les donées comme dans mon precedent message..si vous avez une autre solution elle serait la bienvenue ! :-)

MErci
0
pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
17 oct. 2007 à 17:02
ajoute un

echo $list;

juste avant

$from_email = "system@voilou.fr";

histoire de voir si $list contient quelque chose

(et le code que j'ai posté est la bonne méthode, reste sur cette base là)
0
Bonjour,

Cela ne me retourne rien du tout mais les données concernées sont bien effacées... :-( Je comprends plus rien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
17 oct. 2007 à 18:00
Bonsoir,
Je pense que c'est parce que tu écris tes variables entre guillemets, donc elles ne sont peut etre pas interprétées en tant que telles.
0
Bonsoir

Tu parles de quelles variables ilan27?

Si c'est le '".$date_peromption."' , je ne pense pas que cela vienne de la car il supprime bien les données anterieures a la date en question transmise par la variable...il m'envoi bien le mail...selement que le contenu du mail est vierge....
0
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
17 oct. 2007 à 23:12
Bonsoir, je parlais de $liste...!
0