Page 1 sur 1

paramètre de boucle while

Posté : 04 avr. 2008, 09:24
par HitchBlade
Bonjour à tous, voilà mon problème..
Je n'arrive pas à imbriquer plusieur paramètre dans ma boucle ! Peut-etre un problème simple à résoudre mais perso je ne vois pas..

Voilà mon code :
 $q = mysql_query("SELECT * FROM newsletter") or die(mysql_error()); // requete 
  $compteur=1; // variable pour compter les mails 
  while ($r = mysql_fetch_array($q) & $s = mysql_fetch_array($q) & $t = mysql_fetch_array($q)) {  
  $e_mail = $r['mail']; //prend l'email de la table 
  $civi = $s['civilite'];
  $nom = $t['nom'];
  
	$titre=$_POST['titre'];
	$message=$_POST['message'];
  
  // 1 exemple de contenu du mail 
  $contenu = 'Bonjour <strong>'.$civi.' '.$nom.'</strong> <br />Email : '.$e_mail.'<br />'; 
  $contenu .= '<h2>'.$titre.'</h2><br/><br/><br/>'.$message.'<br/><br/>';
  $contenu .= 'Au revoir et à bientôt sur <a href="http://www.revlook.fr">revlook.fr</a><br /><br />'; 
  
  // envoi du mail HTML 
  $from = "From: Rev'Look NewsLetter <[email protected]>\nMime-Version:"; 
  $from .= " 1.0\nContent-Type: text/html; charset=ISO-8859-1\n"; 
  // envoie du mail 
  mail($e_mail,$titre,$contenu,$from); 

        echo'N° '.$compteur.' - '.$e_mail.' : envoyé avec succés!<br />'; 
        $compteur++; // ajoute 1 à la variale du compteur 
        }  // fin du while
Donc en résumer, j'aimerais que dans mon mail il y soit inscrit après bonjour la civilite et le nom qui se trouve dans ma base, mais mon problème vient des paramètre de cette ligne :
while ($r = mysql_fetch_array($q) & $s = mysql_fetch_array($q) & $t = mysql_fetch_array($q)) {
Si vous aviez une solution...

Merci à tous !

Posté : 04 avr. 2008, 09:42
par caroube
Essaye d'abord ceci
$q = mysql_query("SELECT * FROM newsletter") or die(mysql_error()); // requete  
while ($r = mysql_fetch_array($q)) {
  print_r($r);
  echo "<hr>";
}
Je pense que cela devrait te permettre de comprendre comment fonctionne un fetch sur une base de données.

Posté : 04 avr. 2008, 09:45
par guilt92
Je ne comprend pas pourquoi tu as besoin de 3 variables ? Comment est organisée ta table ?

Pourquoi ne pas utiliser :
  while ($r = mysql_fetch_array($q)) {   
  $e_mail = $r['mail']; //prend l'email de la table  
  $civi = $r['civilite']; 
  $nom = $r['nom']; 
?

EDIT : désolé Caroube internet a coupé entre l'écriture et le post de ma réponse donc je n'avais pas vu la tienne :(

Posté : 04 avr. 2008, 10:59
par HitchBlade
Merci ! C'est bon sa fonctionne nickel ! Merci ^^

Posté : 04 avr. 2008, 11:04
par caroube
Teste avant l'envoi avec
echo $contenu."<br>";

Posté : 04 avr. 2008, 11:18
par Ryle
Modération :
HitchBlade, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.