Bonjour !

J'ai tout d'abord une page membres.php dont voici une partie de code (le reste étant facultatif). La requête va chercher les infos des membres et les affiche en tableau. Au début de chaque ligne (donc pour chaque membre) il y a une checkbox.

J'ai un petit problème avec la boucle "while" qui répète 2x la première entrée puis 1x (donc normalement) les entrées suivantes.
Ainsi si la table est composée des valeurs suivantes : Dupont, Martin, Lagrange
cela retournera : Dupont Dupont Martin Lagrange

Voici mon code, je ne comprends vraiment pas pourquoi seul l'entrée ayant pour id 1 subit cette répétition...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?php
while ($ligne = mysql_fetch_array($result)){
extract ($ligne);
$birthdate = "$jour.$mois.$annee";
?>
 
<tr>
<td><input type="checkbox" name="sendemail[]" value="<?php echo $id; ?>" /></td>
<td><?php echo $nom ?></td>
<td><?php echo $prenom ?></td>
<td><?php echo $birthdate ?></td>
<td><?php echo $rue ?></td>
<td><?php echo "$ville - $pays"; ?></td>
<td><?php echo $telephone ?></td>
<td><?php echo $email ?></td>
<td><?php echo $licence ?></td>
<td><?php echo $statut ?></td>
<td><?php echo $interclubs ?></td>
</tr>  
 
<?php
}
?>
<input type="submit"  name="ok" value="Envoyer un email" />
La deuxième page est envoi_mail1.php. Cette page présente un formulaire pour envoyer un email. Le but étant de sélectionner le(s) destinataire(s) grâce aux checkbox de la page membres.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<?php
include '../includes/connexion.php';
 
$connexion = mysql_connect($host,$user,$password)
or die ("Connexion au serveur impossible");
$db = mysql_select_db($database1,$connexion)
or die ("Sélection de la base de données impossible");
 
if (isset($ok)) {
        if ( array_key_exists( 'sendemail', $_POST ) ) {
                $arrSql = array();      
                foreach ($sendemail as $choix)  {
                $arrSql[] = "id='$choix'";
                }
 
                $rq = 'SELECT email FROM membres ';
                $rq .= ' WHERE '.implode(' OR ', $arrSql);
 
                $adresses = mysql_query($rq);
                $liste_adresses = array();
                while ($add = mysql_fetch_row($adresses)){
                $liste_adresses[]=$add[0]; }
 
                $to = implode(',',$liste_adresses);
 
?>
 
/* FORMULAIRE ... je vous l'épargne ! */
 
<?php
 
if ( array_key_exists( 'sendemail', $_POST ) ) {
$array = array();      
foreach ($sendemail as $key)    {
$array[] = "id='$key'";
}
 
$rq1 = 'SELECT * FROM membres ';
$rq1 .= ' WHERE '.implode(' OR ', $array);
 
$nom = mysql_query($rq1);
 
while ($donnees = mysql_fetch_array($nom)){
$noms[] = $donnees["nom"];
$prenoms[] = $donnees["prenom"];
$final[] = "$noms $prenoms";
$vers = implode(', ',$final);
echo $vers;                    
 
}
 
}                        
 
}
        else {
        echo "Vous devez sélectionner au moins un destinataire !";
        }
}
 
?>
Merci d'avance !