composition destinataire mail

Répondre
enricall
le 21/01/2005 à 21:52
enricall
Bonsoir,

j'ai besoin de récuperer des emails dans une table et de les "assembler" de facon a ce qu'il ne forme qu'une seule variable (toto@net.com,momo@net.com, etc, pour l'envoi d'un mail.

voila ce que j'ai fait mais j'ai deja 1 erreur
"Notice: Undefined offset: 3 in c:\program files\easyphp1-7\www\2005\mail_supers.php on line 22"

et de plus comment doit-je faire pour mettre une virgule entre chaques email ?

merci pour votre aide,

<?
require("protec/passe/connect.php");

$i=0;

// on va chercher les adresse email
$sql = 'SELECT * from temp_mail ';

// on exécute la requête
$req = mysql_query($sql) or die (mysql_error()) ;

//on fait une boucle pour stocker les donnees
while ($row=mysql_fetch_array($req) ) {

$adresse_mail[$i]['pseudo'] = $row['pseudo'];
$i++;
}
$all_adresse_mail = $i;

//et une boucle pour afficher le résultat
for($i=0;$i<=$all_adresse_mail;$i++) {
echo $adresse_mail[$i]['pseudo'];

}
?>
~_enricall_~
Val
le 21/01/2005 à 21:57
Val
Je ferai un truc de ce genre ci:

$ip = $_SERVER['REMOTE_ADDR'];
$ip2="$voir->ip";
$ip3="$ip,$ip2";

mysql_query("UPDATE `2` SET ip='$ip3' WHERE nom='$pseudo'");


Et tu adaptes à ton cas.
bibi
le 21/01/2005 à 21:59
bibi
jvois pas le rapport entre ce qu'il veut et ce que t'as fait :s
commit suicide
Val
le 21/01/2005 à 22:09
Val
Bah si, sauf que moi c'est avec des IP.

Il prends l'adresse mail du type.

$mail1=on la prends;

$mail2="$mail2,$mail1";

et il fait ça pour chaque adresse mail...
enricall
le 21/01/2005 à 22:19
enricall
merci, mais ma requete fonctionne (mal mais qq même), j'affiche mon resultat, ce que je voudrai, c'est comprendre le message d'erreur, et ajouter une virgule entre chaque email.
~_enricall_~
Val
le 21/01/2005 à 22:28
Val
En local il t'affiche l'erreur et si tu le met sur internet, je parie que l'erreur n'y sera pas...Pour ta virgule, je suis trop crevé...
bibi
le 21/01/2005 à 22:28
bibi
<?

// on va chercher les adresse email
$sql = 'SELECT * from temp_mail ';

$mail = array();

// on exécute la requête
$req = mysql_query($sql) or die (mysql_error()) ;

while ($row=mysql_fetch_array($req) ) {
$mail[] = $row['pseudo'];
}

$allmails = implode(",",$mail);

}
?>



Pour ton erreur : c quoi la ligne 22 ?
commit suicide
enricall
le 21/01/2005 à 22:31
enricall
Merci,

la ligne 22 c'est mon echo

echo $adresse_mail[$i]['pseudo'] ;
~_enricall_~
bibi
le 21/01/2005 à 22:42
bibi
c totalement normal

je t'explique
disons qu'il y a 3 enregistrements dans ta table

ton $i = 0 au départ

on rentre dans la boucle la premiere fois

on attribue a $tablo[0]['pseudo'] = pseudo1;

on incrémente $i, $i =1

en refait la boucle

on attribue a $tablo[1]['pseudo'] = pseudo2;

on incrémente $i, $i =2

en refait la boucle

on attribue a $tablo[2]['pseudo'] = pseudo3;

on incrémente $i, $i =3 // ceci est fatal

en effet, tu auras $tablo[0],$tablo[1],$tablo[2] qui seront remplis donc le plus grand identifiant dans le tableau est 2

OR tu attribue a all_addresse_email la valeur de $i qui vaut 3 et qui est donc trop grande de 1
Donc dans ta boucle for($i=0;$i<$all_addresse_email;$i++)

il va faire la 0 -> il incrémente
il fait la 1 -> il incrémente
il fait la 2(tjrs inférieure a 3) -> il incrémente

mais la il n'y a rien a $adresse_mail[3] car au max on a mis 2

tu dois donc attribuer la valeur du nombre de mail à $i-1

j'epsere avoir été clair :)
commit suicide
enricall
le 21/01/2005 à 23:07
enricall
Merci pour ton aide, cela m'a permis de meux comprendre, @+
~_enricall_~
Répondre
LoadingChargement en cours