|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Bonjour,
J'aurais souhaité reprendre la discussion car j'ai pratiquement les mêmes difficultés à insérer une balise php au sein d'un mail php (fonction mail()). Le post a été taggé résolu mais je ne vois pas bien, pour ma part, où placer ces balises. En fait, pour mon site de vente en ligne, j'envoie à chaque étape de la commande, un mail qui reprends des informations importantes. Tout fonctionne parfaitement bien, la boundery fonctionne à merveille, les clients mails reçoivent, selon leurs disposition, un mail en txt ou en html, le tout avec des variables bien prises en compte mais là où je sèche, c'est de pouvoir insérer dans la partie HTML un tableau dynamique contenant une ou plusieurs lignes d'articles (issus de la bdd). Voici mon code: Code :
Suis je hors sujet? Faut-il passer cette boucle sur une variable qui serait elle même exploitable par cette fonction mail. Je sais que tout est déjà en php mais si je mets une "enclave php" en mettant une balise de fin et que je reprends ensuite le déroulement normal du mail, j'ai alors un warning de syntaxe (à priori). C'est bête, je le sais, mais je sèche. Merci de vos réponses. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Le msg que tu envoies est stocké dans une variable $msg.
Remplace : Code :
<td>c'est ici que je voudrais intégrer un tableau qui est une boucle php do...while contenant éventuellement plusieurs lignes d'articles commandés</td> ... $products étant une variable contenant le tableau HTML de produits à transmettre par email. Exemple : Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Alors c'est nettement mieux, mais foreach ne parcours que la première ligne, donc je peux faire pareil avec des variables.
Mais je cherche pourquoi.. |
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Merci Séb.
C'est déjà nettement mieux. J'obtiens une liste en faisant une boucle do while, mais mes opérateurs ne sont pas pris en compte, ils sont simplement renvoyés tels quels. Pour le calcul de la TVA, c'est assez génant: Code :
|
||
|
|
00
|
|
|
#5 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
On n'avait pas déjà pointé qu'il ne fallait pas un do/while ?
Moi je suis plutot partisan du découpage des chaines : Code :
|
||
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
A première vue, il manque la première ligne d'articles, mais les opérateurs fonctionnent...
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Pardon pour ce rythme plutôt lent, je n'avais pas eu l'occasion de répondre.
J'ai opté pour do while, plus facile puisque la condition est évaluée à la fin, mon tableau est donc complet. Mais c'est surtout car je ne sais pas comment initialiser le compteur avant while pour que la condition soit vraie. Pourquoi pas do while Sabotage ? |
|
|
00
|
|
|
#8 | |||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
Citation:
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Je me suis sans doute mal exprimé, php est un langage que j'apprends avec le temps, mais la programmation n'est pas mon métier.
J'ai cru comprendre qu'avec do while, le bloc d'instructions est exécuté avant de tester la condition, ce qui suppose que la première ligne de mon tableau est affichée aussi. Quant au compteur, je voulais dire la valeur initiale. $row_panier correspond à la deuxième ligne du tableau à la première exécution de while. |
|
|
00
|
|
|
#10 | ||||||||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
Citation:
Citation:
Citation:
A la 2nde exécution du do/while $row_panier contiendra le 1er enregistrement, etc. Est-ce réellement le comportement voulu ? Equivalences strictes entre do/while et while : Code :
Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||||||||
|
|
00
|
|
|
#11 | |
|
Membre éclairé
![]() Inscription : octobre 2004 Messages : 235 ![]() |
Citation:
Si il te manque la première ligne, c'est que avant le code que nous montre tu as déjà fait : Code :
$row_panier= mysql_fetch_assoc($panier) ; |
|
|
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Oui, Seb, je comprends déjà mieux.
Il est temps que je conclue cette affaire, merci à vous, Seb et Sabotage pour votre aide précieuse, et votre patience. Mon mail de confirmation de commande est déjà en route, il est parfaitement fonctionnel, mon php s'est enrichi. Mais je me contenterai pour l'instant, car le temps me manque, d'une boucle do while exécutée, certes, une fois pour rien, mais cela n'a, en l'occurrence, aucune importance. Alors merci encore à vous et bon vent. |
|
|
00
|
|
|
#13 |
|
Membre éclairé
![]() Inscription : octobre 2004 Messages : 235 ![]() |
En fait elle n'est exécutée pour rien que si ta requête ne renvoie aucun enregistrement, là ça fera une erreur PHP, donc ça peut avoir de l'importance ;-)
|
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 48 ![]() |
Joker-eph
"Si il te manque la première ligne, c'est que avant le code que nous montre tu as déjà fait : Code :
$row_panier= mysql_fetch_assoc($panier) ; Ce qui fait que la déclaration de requête contenait cette fameuse ligne. Ce qui nous fait deux lignes identiques avant l'exécution du while seul et la boucle ne commence donc qu'au 2ème enregistrement. Bien vu, j'aurais pu trouver ça avant mais non. Alors merci infiniment à vous trois. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com