Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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/09/2011, 08h14   #1
Invité régulier
 
Inscription : septembre 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 21
Points : 5
Points : 5
Par défaut Requête récursive mail

Bonjour,

J'essaye d'envoyer un mail php, contenant une le résultat d'une requête mysql.

pour faire simple, un utilisateur se connecte au site, et via le script panier.php, il récupère tout les articles le concernant et l'affiche dans une table récursif :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<table'><tr>
<th>Quantités</th>
<th>Produits</th>
<th>Prix Unitaire</th>
<th>Prix Total</th>
</tr>
 
<?php
mysql_connect("$host", "$sqllogin", "$sqlpassword")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$login=$_SESSION['login'];
$requete = mysql_query("SELECT * FROM $tbl_name WHERE ident = '$login'");
while ($donnees = mysql_fetch_array($requete))
{
?>
<tr>
<td><strong><?php echo $donnees['quant']; ?></strong></td>
<td><strong><?php echo $donnees['produit']; ?></strong></td>
<td><strong><?php echo $donnees['prix']; ?> &euro;</strong></td>
<td><strong><?php echo $donnees['prix_total']; ?> &euro;</strong></td>
</tr>
</table>
Je souhaiterais donc récupérer toutes les informations, et envoyer tout ça par mail.

J'ai essayer (par curiosité) un : $mail = file_get_contents('panier.php');
mais apparemment cela ne fonctionne pas...

Pouvez-vous m'aider ?
amicalement,
Fabien493
fabien493 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 11h10   #2
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 248
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 248
Points : 1 506
Points : 1 506
salut,
[hors_sujet]
ton <table> au debut contitent une quote en trop
[/hors_sujet]

sinon, il faut que tu stocke le resultat de ta requete dans une variable, que t'envois ensuite via la fonction mail();
exemple :
Code php :
1
2
3
4
5
6
$texte='';
while($resultat_de_ta_requete){
$texte.='<br />';
$texte.=$resultat_de_ta_requete["quelque_chose"];
}
mail('me@you.com', 'sujet', $texte);
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/09/2011, 14h34   #3
Invité régulier
 
Inscription : septembre 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 21
Points : 5
Points : 5
Bonjour Doksuri,

Alors déjà je te remercie énormément pour ta réponse, j'avance un petit peu.
Un problème toutefois :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php
session_start();
include('config.php');
$tbl_name="paniers";
 
$headers ='From: commande@indiana-clamart.fr'."\n";
$headers .='Reply-To: commande@indiana-clamart.fr'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
mysql_connect("$host", "$sqllogin", "$sqlpassword")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$login=$_SESSION['login'];
$requete = mysql_query("SELECT * FROM $tbl_name WHERE ident = '$login'");
while ($donnees = mysql_fetch_array($requete))
{
$panier = $donnees["quant"];
$panier .= $donnees["produit"];
$panier .= $donnees["prix"];
$panier .= $donnees["prix_total"];
} 
mail('fabienschmitz@gmail.com', 'commande', $panier, $headers);
?>
Il se trouve que ce script fonctionne plus ou moins, car, j'ai bien les variables dans le mails, mais seulement le dernier résultat, non les autres.
comme ci, la boucle récupérais toute les infos mais n'affichait que la dernière.

le résultat devrait-être :

Quantité Produit Prix_unitaire Prix_total
1 poulet 5euro 5euro
2 CocaCola 2 euro 4 euro
ect...

Merci d'avance,
amicalement,
Fabien493
fabien493 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 14h46   #4
Invité régulier
 
Inscription : septembre 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 21
Points : 5
Points : 5
Y'a du mieux !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$panier = '<html><head><title>Panier</title></head><body><table><tr><td>';
while ($donnees = mysql_fetch_array($requete))
{
$panier .= $donnees["quant"];
$panier .= '</td><td>';
$panier .= $donnees["produit"];
$panier .= '</td><td>';
$panier .= $donnees["prix"];
$panier .= '</td><td>';
$panier .= $donnees["prix_total"];
} // Fin de la boucle
$panier .= '</td></tr></table></body></html>';
mail('fabienschmitz@gmail.com', 'commande', $panier, $headers);
m'affiche tout mais pas en html :
<html><head><title>Panier</title></head><body><table><tr><td>1</td><td>coca cola</td><td>2.00</td><td>2.001</td><td>Nan Nature</td><td>5.00</td><td>5.003</td><td>CocaCola</td><td>2.00</td><td>6.001</td><td>Poulet Vidalloo</td><td>10.00</td><td>10.00</td></tr></table></body></html>

fabien493

edit: ok c'est mon mime, qui n'était pas en html...
fabien493 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 23h35.


 
 
 
 
Partenaires

Hébergement Web