Formulaire d'envoi mail groupé et trier

Fermé
kopax Messages postés 33 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 6 octobre 2022 - 28 mai 2007 à 19:35
djimson Messages postés 211 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 13 février 2015 - 17 sept. 2009 à 20:03
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 - ";
} 
}
A voir également:

1 réponse

Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
25 janv. 2008 à 13:13
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 211 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 13 février 2015 3
17 sept. 2009 à 20:03
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