Formulaire d'envoi mail groupé et trier

kopax Messages postés 43 Statut Membre -  
djimson Messages postés 217 Statut Membre -
Bonjours a tous, je vois que le forum est tres actif et beaucoup prenne la peine de repondre ici donc j'ai prit la peine moi aussi de m'inscrire en esperant trouvé de l'aide.

J'ai une newsletter sur mon site qui peut etre envoyé à sois la categorie d'utilisateur 1, 2, 3, out tous.

Seulement mon script envois a tout les mails relevé dans la base de donnée.
Il commence par envoyé a la categorie 1, puis la categorie 2, puis la categorie 3, puis au reste.

Si quelqu'un pourrai corriger mon erreur,

Cordialement,

Dimitri

if (isset($_POST['cat']) == "1")
{
$req=mysql_query("SELECT email,cat FROM v1_roster WHERE cat=1"); 
$res=mysql_numrows($req);
echo "Envoi groupé à la section Counter-Strike<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
echo "Envoyé à  $email - ";
$i++;
} 
}
elseif (isset($_POST['cat']) == "2")
{
$req=mysql_query("SELECT email,cat FROM v1_roster WHERE cat=2"); 
$res=mysql_numrows($req);
echo "Envoi groupé à la section Staff<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
$i++;
echo "Envoyé à $email - ";
} 
}
elseif (isset($_POST['cat']) == "3")
{
$req=mysql_query("SELECT email,cat FROM v1_roster WHERE cat=3"); 
$res=mysql_numrows($req);
echo "Envoi groupé à la section Counter-Strike Source<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
$i++;
echo "Envoyé à $email - ";
} 
}
else
{
$req=mysql_query("SELECT email FROM v1_roster"); 
$res=mysql_numrows($req);
echo "Envoi groupé à toute les sections<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
$i++;
echo "Envoyé à $email - ";
} 
}

1 réponse

Irresistibledemon Messages postés 98 Statut Membre 9
 
Coucou, voici le code que tu peux utiliser :
if(isset($_POST['cat'])
{
	if($_POST['cat'] == "1")
	{
		$sql = "SELECT email,cat FROM v1_roster WHERE cat=1"; 
		echo "Envoi groupé à la section Counter-Strike<br>";
	}
	elseif($_POST['cat'] == "2")
	{
		$sql = "SELECT email,cat FROM v1_roster WHERE cat=2"; 
		echo "Envoi groupé à la section Staff<br>";
	}
	elseif($_POST['cat'] == "3")
	{
		$sql = "SELECT email,cat FROM v1_roster WHERE cat=3"; 
		echo "Envoi groupé à la section Counter-Strike Source<br>";
	}
}
else $sql = "SELECT email FROM v1_roster";

$req=mysql_query($sql);
$res=mysql_numrows($req);
$i=0;
while($i!=$res) { 
	$email=mysql_result($req,$i,"email");
	mail($email,$sujet,$message,$headers);
	$i++;
	echo "Envoyé à ".$email." - ";
} 


La fonction isset(...) renvoie une information booléenne (true ou false)
0
djimson Messages postés 217 Statut Membre 3
 
Salut, j'ai essayé ce formulaire mais il m'envoie le même message 15 fois et à une seule adresse. Il n'envoie pas aux autres adresses.
Quelqu'un pourrai bien m'expliquer?
<?php 
$option= $_POST['option'];
 /*  Connexion au serveur  */
 
include("connexion.php"); 
mysql_query ("INSERT INTO emplois VALUES
('','$option')");
	
		$sql = ("Select `Adresse_Email`,`option` FROM Comptes_Utilisateurs c , emplois e WHERE c.`secteur`='". $_POST['option'] ."'; "); 
		echo "Envoi groupé <br>";
	
$req=mysql_query($sql);
$res=mysql_numrows($req);
$i=0;

$sujet = "Offre interessante";
                              
   $message = "Cette offre vs interesse :\n";
while($i!=$res) 
{ 
	$email=mysql_result($req,$i,"Adresse_Email");
	
   	mail($email,$sujet,$message);
	
	echo "Envoyé à ".$email." - "
	$i++;;
} 

0