Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 16/03/2011, 12h18   #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 Envoi par mail d'un resultat de requete

Bonjour,

J'ai une page php qui me renvoi mon resultat de requete dans un tableau.

Jusque la ca fonctionne bien.

Mais je voudrais également que ce tableau puisse etre envoyé directement par mail.

Est ce possible ?

Mon code actuel est :
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
<html lang="fr"><head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"></head>
<body>
<basefont face="Tahoma" size="2"> 
<br>
<center><h2><span style="color: rgb(92, 168, 10);"><i>Pages visitées<br>Jour Courant</i></span></h2></center>
<center><table width="300" border="1" cellspacing="0" cellpadding="0">
 
  <tr>
	<td width="5"><font face="tahoma" size="2"><span style="color: rgb(92, 168, 10);"><div align="center">Nom de la page</div><span></font></td>
 
	<td width="5"><font face="tahoma" size="2"><span style="color: rgb(92, 168, 10);"><div align="center">Visites</div><span></font></td>
 
 </tr>
<?php
 
//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 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 = CURDATE() 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 ($reponse)
{
//*************************************************************************************************************************
while ($donnees = mysql_fetch_array($reponse))
 
{
 
?>
 
  <tr>
 
	<td><center><font face="tahoma" size="2"><?php echo $donnees['0']; ?></font></center></td>
	<td><center><font face="tahoma" size="2"><?php echo $donnees['1']; ?></font></center></td>
 
   </tr>
 
<?php
//Placement du mail //Placement du mail //Placement du mail //Placement du mail //Placement du mail //Placement du mail //Placement du mail //Placement du mail //Placement du mail //Placement du mail
}
 
 
//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
echo 'Pas de champs!!!';
}
//****************************************************************************************************
?>
</table></center>
<br><br>
</body></html>

J'ai essayé de rajouter le mail de cette manière :

Code :
1
2
3
4
5
6
7
8
9
//Envoi mail
     $headers ='From: "bidule"<bidule@bidule.fr>'."\n"; 
     $headers .='Reply-To: '."\n"; 
     $headers .='Cc: machin@aol.fr']}"."\n"; 
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
     $headers .='Content-Transfer-Encoding: 8bit'; 
     $message = "$reponse";
 
     mail('truc@machin.fr', 'Requete', "$message", $headers))

Que j'ai placé juste après le while, après les <tr></tr> mais avant la fermeture }.

Le mail part mais contenant une erreur ressource #2.

Pouvez vous m'aider svp ?

Amicalement
Stephane
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 15h12   #2
Membre habitué
 
Homme
Développeur Web
Inscription : avril 2007
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2007
Messages : 323
Points : 144
Points : 144
Salut, là le problème c'est que tu lui passe directement un array en message, je suis pas sûr mais je pense qu'il faut que tu le retraites avant, genre générer du html.
Ou alors le problème vient peut être du content-type de ton mail, à voir.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...
erox44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 15h24   #3
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
La réponse. Du moins la partie sql :

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
<?php
//recupere date du jour
$date = 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.com' ; 
$subject = 'Nombre de visites' ; 
 
$body = '<HTML>' ; 
 
$body = $body . '<HEAD>' ; 
 
$body = $body . '</HEAD>' ; 
 
$body = $body . '<BODY>' ; 
$body = $body . '<p>';
$body = $body . 'Nombre de visites du ';
$body = $body . $date;
$body = $body . '</p>';
 
$body = $body . '<div width="300">' ; 
 
$body = $body . '<table border="1" cellspacing="3" cellpadding="3">' ; 
 
$body = $body . '<tr>' ; 
$body = $body . '<td>' ; 
$body = $body . $donnees [0]; 
$body = $body . '</td>' ; 
$body = $body . '<tr>' ; 
$body = $body . '</table>' ; 
$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
{
'';
}
//****************************************************************************************************
?>
Merci à tous
steph70 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 19h01.


 
 
 
 
Partenaires

Hébergement Web