Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2011, 21h08   #1
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 0
Points : 0
Par défaut doublons dans l'envoi de mails

Bonsoir .j'ai creer un base de donnée (mails ) avec une table ou j'ai mis une adresse email .la table est lue avec la boucle foreach et le mail envoyé avec la fonction mail () en php mais dans ma boite de reception j'ai 2 mails donc il y a un doublon que je n'arrive pas a enlever car je ne le vois pas dans ma table.Avez vous une idée svp merci.
ifate est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 23h15   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
bonjour,

tu peux essayer de voir les doublons en tables comme ceci :


Code sql :
1
2
3
4
 
SELECT * FROM tatable
GROUP BY mail
HAVING COUNT(*) > 1
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 08h21   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 980
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 980
Points : 18 224
Points : 18 224
Envoyer un message via MSN à CinePhil
Si Ifate utilise un SGBD moins permissif que MySQL, la requête sera refusée car les colonnes ne figurant pas dans le GROUP BY ne doivent pas figurer non plus dans le SELECT.
Ceci est mieux :
Code :
1
2
3
4
SELECT mail
FROM la_table
GROUP BY mail
HAVING COUNT(*) > 1
Par ailleurs, je m'inquiète un peu de cette partie du message d'Ifate :
Citation:
la table est lue avec la boucle foreach
J'ose espérer que tu veux parler de la lecture du résultat d'une requête sur la table et pas de la même requête lancée dans la boucle foreach autant de fois qu'il y a de lignes.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h09   #4
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 0
Points : 0
en fait je veux mettre une liste e-mails dans une base de donnée mais pour l'instant je fais un essai avec une seule adresse et un script php pour envoyer une infolettre avec la fonction mail(). Donc foreach sert a aller chercher toutes les adresses : voici mon script :
Code :
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
<?PHP
$connexion=mysql_connect("localhost","root","");
mysql_select_db("mails");
$requete="SELECT * FROM percee";
$resultat=mysql_query($requete);
 
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>mail.text.php</title>
</head>
 
<body>
<?php
     $headers ='From: "nom"<monadresse@xxx.fr>'."\n";
     $headers .='Reply-To: <a href="mailto:adresse_de_reponse@fai.fr">adresse_de_reponse@fai.fr</a>'."\n";
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';
 
 
$percee=mysql_fetch_array($resultat);
      foreach($percee AS $mail )
 
    IF(mail($mail, 'Sujet', 'Message de test', $headers))
    {
    echo $mail;
    }  
?> 
 
</body>
</html>
C'est vrai que je débute en programmation php et l'utilisation de Mysql donc voila je n'ai pas tout compris , merci de votre compréhension et votre aide.
ifate est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h26   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 980
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 980
Points : 18 224
Points : 18 224
Envoyer un message via MSN à CinePhil
Par rapport à mon inquiétude exprimée dans mon précédent message, ton code me rassure.

As-tu trouvé ton doublon ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 22h41   #6
Invité de passage
 
Inscription : juillet 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 7
Points : 0
Points : 0
Par défaut doublon trouvé

Bonsoir.Oui j'ai trouvé le doublon , en fait j'avais mis l'adresse mail dans le champ et l'intitulé donc c'était lu deux fois comme du texte , j'ai changé le nom et le problème est résolu mais de toute les façons j'ai encore a apprendre sur l'emploi des bases de données.merci a vous et bonne soirée.
ifate est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h19.


 
 
 
 
Partenaires

Hébergement Web