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 17/03/2011, 09h15   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
Par défaut Script avec deux requetes

Bonjour,

J'ai un script qui me renvoie les nombres de visiteurs de mon site et qui me l'envoie par mail.

Mon souci est que je voudrais pouvoir faire 2 requetes pour un seul mail mais je ne vois pas comment.

Pouvez vous m'aider ?

Voici mon script qui fonctionne :

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
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
//recupere date du jour
$date = date('Y-m-d', time() - 3600 * 24);
//date ("Ymd");
 
//Connection Mysql
mysql_connect("*","*","*")or die("Problème avec la base de données");
mysql_select_db("*")or die ("pas de connection");
 
 
 $reponse = mysql_query("SELECT COUNT(*) 
FROM  `jom15_jstats_visits` 
WHERE  `visit_date` = '$date'"); // Requête SQL
 
 
 
// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($date)
{
//*************************************************************************************************************************
while ($donnees = mysql_fetch_array($reponse))
 
{
 
//Envoi mail
$to = 'bidule@aol.coop' ; 
$subject = 'Nombre de visiteurs' ; 
 
$body = '<HTML>' ; 
 
$body = $body . '<HEAD>' ; 
 
$body = $body . '</HEAD>' ; 
 
$body = $body . '<BODY>' ; 
$body = $body . '<p>';
$body = $body . 'Nombre de visiteurs du ';
$body = $body . $date;
$body = $body . '</p>';
 
$body = $body . '<div width="300">' ; 
$body = $body . '<center>';
$body = $body . '<table border="1" cellspacing="3" cellpadding="3">' ; 
 
$body = $body . '<tr>' ; 
$body = $body . '<td>' ; 
$body = $body . $date;
$body = $body . '</td>' ; 
$body = $body . '<td>' ; 
$body = $body . $donnees [0]; 
$body = $body . '</td>' ; 
$body = $body . '<tr>' ; 
$body = $body . '</table>' ; 
$body = $body . '</center>';
$body = $body . '</div>' ; 
$body = $body . '</BODY>' ; 
$body = $body . '</HTML>' ; 
 
$headers = "MIME-Version: 1.0\r\n" . "Content-type: text/html; charset=iso-8859-1\r\n" . "From: siteInterval.coop" ; 
 
     mail($to, $subject, $body , $headers);
 
 }
 
 
 
//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
'';
}
//****************************************************************************************************
?>

et la requete que je voudrais rajouter :

Code :
1
2
3
4
$reponse = mysql_query("SELECT COUNT(*) 
FROM jom15_jstats_impressions
INNER JOIN jom15_jstats_visits ON jom15_jstats_visits.visit_id = jom15_jstats_impressions.visit_id
WHERE jom15_jstats_visits.visit_date = '$date'"); // Requête SQL

Qui me permettrait de recuperer le nombre de pages visitées.

Merci pour votre aide.

Amicalement
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2011, 09h45   #2
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
J'ai reussi a lier 2 requetes dans un seul mail. Ces deux requetes n'entraine qu'une ligne chacune mais lorsque je lie une troisième requete qui elle entraine plusieurs lignes, je n'ai que la premiere ligne de la 3ème requete.

Je me doute qu'il faudrait que je remplace les And par des or mais lorsque je met des or j'ai une erreur.

Une idée ?

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
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
//recupere date du jour
$date = date('Y-m-d', time() - 3600 * 24);
//date ("Ymd");
 
//Connection Mysql
mysql_connect("*","*","*")or die("Problème avec la base de données");
mysql_select_db("*")or die ("pas de connection");
 
 
 $reponse = mysql_query("SELECT COUNT(*) 
FROM  `jom15_jstats_visits` 
WHERE  `visit_date` = '$date'"); // Requête SQL
 
 $reponse1 = mysql_query("SELECT COUNT(*) 
FROM jom15_jstats_impressions
INNER JOIN jom15_jstats_visits ON jom15_jstats_visits.visit_id = jom15_jstats_impressions.visit_id
WHERE jom15_jstats_visits.visit_date = '$date'"); // Requête SQL
 
 $reponse2 = mysql_query("SELECT jom15_jstats_pages.page_title, COUNT(*)
FROM jom15_jstats_impressions
INNER JOIN jom15_jstats_visits ON jom15_jstats_visits.visit_id = jom15_jstats_impressions.visit_id
INNER JOIN jom15_jstats_pages ON jom15_jstats_impressions.page_id = jom15_jstats_pages.page_id
WHERE jom15_jstats_visits.visit_date = '$date' GROUP BY jom15_jstats_pages.page_id ORDER BY COUNT(*) DESC"); // Requête SQL
 
 
 
// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($date)
{
//*************************************************************************************************************************
while (($donnees = mysql_fetch_array($reponse)) and ($donnees1 = mysql_fetch_array($reponse1)) and ($donnees2 = mysql_fetch_array($reponse2)))
 
{
 
//Envoi mail
$to = 'bidule@aol.com' ; 
$subject = 'Nombre de visiteurs' ; 
 
$body = '<HTML>' ; 
 
$body = $body . '<HEAD>' ; 
 
$body = $body . '</HEAD>' ; 
 
$body = $body . '<BODY>' ; 
 
// Code pour le nombre de visiteurs
 
$body = $body . '<p>';
$body = $body . 'Nombre de visiteurs du ';
$body = $body . $date;
$body = $body . '</p>';
 
$body = $body . '<div width="300">' ; 
$body = $body . '<center>';
$body = $body . '<table border="1" cellspacing="3" cellpadding="3">' ; 
 
$body = $body . '<tr>' ; 
$body = $body . '<td>' ; 
$body = $body . $date;
$body = $body . '</td>' ; 
$body = $body . '<td>' ; 
$body = $body . $donnees [0]; 
$body = $body . '</td>' ; 
$body = $body . '<tr>' ; 
$body = $body . '</table>' ; 
$body = $body . '</center>';
 
// code pour le nombre de visites
 
$body = $body . '<p>';
$body = $body . 'Nombre de visites du ';
$body = $body . $date;
$body = $body . '</p>';
 
$body = $body . '<div width="300">' ; 
$body = $body . '<center>';
$body = $body . '<table border="1" cellspacing="3" cellpadding="3">' ; 
 
$body = $body . '<tr>' ; 
$body = $body . '<td>' ; 
$body = $body . $date;
$body = $body . '</td>' ; 
$body = $body . '<td>' ; 
$body = $body . $donnees1 [0]; 
$body = $body . '</td>' ; 
$body = $body . '<tr>' ; 
$body = $body . '</table>' ; 
$body = $body . '</center>';
 
//Code pour les pages visitées
 
$body = $body . '<p>';
$body = $body . 'Les pages visitées ';
$body = $body . $date;
$body = $body . '</p>';
 
$body = $body . '<div width="300">' ; 
$body = $body . '<center>';
$body = $body . '<table border="1" cellspacing="3" cellpadding="3">' ; 
 
$body = $body . '<tr>' ; 
$body = $body . '<td>' ; 
$body = $body . $date;
$body = $body . '</td>' ; 
$body = $body . '<td>' ; 
$body = $body . $donnees2 [0]; 
$body = $body . '</td>' ; 
$body = $body . '<td>' ; 
$body = $body . $donnees2 [1]; 
$body = $body . '</td>' ; 
$body = $body . '<tr>' ; 
$body = $body . '</table>' ; 
$body = $body . '</center>';
 
$body = $body . '</div>' ; 
$body = $body . '</BODY>' ; 
$body = $body . '</HTML>' ; 
 
$headers = "MIME-Version: 1.0\r\n" . "Content-type: text/html; charset=iso-8859-1\r\n" . "From: siteInterval.coop" ; 
 
     mail($to, $subject, $body , $headers);
 
 }
 
 
 
//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
'';
}
//****************************************************************************************************
?>
Oullah j'ai remplacer mes and par des || et ca fonctionne... sauf que ca m'envoi un mail par ligne de reponse de ma requete N°3

Comment faire pour que tout arrive dans un seul mail ?

Merci pour votre aide.
steph70 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 19h19.


 
 
 
 
Partenaires

Hébergement Web