Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 31/07/2011, 17h37   #1
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
Par défaut Requete un peu special?

Bonjour
j'ai un petit soucis avec mon code:
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
// Gestion des envois par email
if ($envoiParMail && function_exists('mail')) {
        $emails = '';
        // Récupération des emails pour l'envoi
        $sql = 'SELECT DISTINCT(email) as mail FROM '.$cat1.' WHERE (reception_mail=1) AND (email<>"'.mysql_real_escape_string($email).'")';
        $sql.= ' AND (id='.mysql_real_escape_string($id_reponse).' OR id_reponse='.mysql_real_escape_string($id_reponse).')';
 
        $res = mysql_query($sql) or die(showError('3', mysql_error()));
        if (mysql_num_rows($res)>0) {
                // Contenu du mail
 
                $sujet = 'Vous avez une réponse en attente. ';
                $corps = 'Bonjour,'."\n\n";
                $corps.= $nom;
                $corps.= ' a apporté une réponse à  votre sujet "';
                $corps.= $titre;
                $corps.= '". Vous pouvez consulter le message en cliquant sur l\'adresse ci-dessous: '."\n\n";
                $corps.= 'http://www.nom_de_domaine.fr/forum/'.$cat1.'/read_mess.php?id='. $id_reponse;
                $corps.= "\n\n\n";
                // Envoi des emails
                while($r = mysql_fetch_array($res)) {
                        mail($r['mail'], $sujet, $corps,'From: '.$cat1.' '.$nomsite.' <'.$webmail.'>'."\n");
                }
        }
}
mysql_close();

Je voudrai rajouter dans la requête quelque chose du genre "Si id_reponse=0=1er enregistrement alors pas d'envois d'email"
mais je ne trouve nul part comment faire
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 18h49   #2
Membre du Club
 
Inscription : novembre 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 103
Points : 44
Points : 44
Envoyer un message via MSN à Legenyes
Salut,

je ne comprend pas trop ce que tu souhaite faire,
mais peut etre avec un GROUP BY sur l'email et un HAVING pour ne reprendre que ceux ou il y a qu'une ligne

c'est bien ca ?
Legenyes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 21h59   #3
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
je créé un forum.
parmi toutes les tables, j'ai id, et id_reponse qui récupère la valeur id du créateur du sujet.
date_insertion (date de l'insertion du sujet ou de la réponse) et date_reponse (qui récupère la date du dernier post)
ex: création d'un sujet: id=3 id_reponse=0 (toujours 0 lors de la création d'un message) date_insertion=01/01/2011 12h00 date_reponse=01/01/2011 12h00
ensuite, apres 2 réponses, il apparait ceci:
id=3 id_reponse=0 (toujours 0 lors de la création d'un message) date_insertion=01/01/2011 12h00 date_reponse=01/01/2011 12h02
1ere réponse a ce sujet, id=4 et id_reponse=3 date_insertion=01/01/2011 12h01 date_reponse=01/01/2011 12h01
2eme réponse à ce sujet, id=5 et id_reponse=3 date_insertion=01/01/2011 12h02 date_reponse=01/01/2011 12h02
etc...

Lorsque l'on créé le sujet, avant de le valider, il est possible de cocher la case "recevoir un email lors d'une réponse".

C'est la qu'il y a problème. En l'état actuel des choses, lorsque le créateur du sujet coche recevoir l'email et qu'il valide, il reçoit immédiatement un email lui indiquant une réponse à son sujet (ce qui est une erreur il va de soit).

J'ai rajouté par la suite
Code :
if (mysql_num_rows($res)>0 && $id_reponse>0)
Alors la il ne reçoit plus l'email lors du post de son sujet, mais il ne reçoit pas non plus d'email lors de réponses de tierce personne.... (génant ça)

J'ai aussi essayé de rajouter dans la requête date_insertion!=date_reponse mais je crois que l'email est envoyé avant que la requête soit lancée...
Donc je galère :-)
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h40.


 
 
 
 
Partenaires

Hébergement Web