Afficher une image dans un email suite à un filtre avec mysql

Eléphanteau du PHP | 15 Messages

21 janv. 2023, 23:13

Bonjour
IL y a bien longtemps que je ne suis pas venu ici !

J'ai un problème, je vais expliquer en détail enfin je vais essayer.

Mon outil : APPGINI, un excellent outil de création de base de données, PHP mysql du classique.

J'ai une base (avec des élèves) où je stocke nom, prénom, classe ET PHOTO.
Je remplis le champ photo et sur mon application la photo apparaît, les noms des photos sont normalisés prenomnom.jpg
La photo est stockée sur mon serveur dans un dossier IMAGES, du classique.

A chaque modification de la fiche j'envoie un email aux parents concernés.
Cet email est écrit en HTML avec un tableau, cela fonctionne à merveille sauf que au lieu de VOIR la photo j'ai le nom de la photo, je vois où est le problème mais je n'arrive pas à finaliser.,

Code : Tout sélectionner

<tr style="height: 18px;"> <td style="width: 27.4765%; height: 18px;">NOM ELEVE</td> <td style="width: 23.7235%; height: 18px; text-align: left;" colspan="3"><?php echo sqlValue("select NOM_ELEVE from GES_VOEUX where id='" . makeSafe($data['id']) . "'"); ?></td> </tr> <tr style="height: 18px;"> <td style="width: 27.4765%; height: 18px;">PRENOM ELEVE</td> <td style="width: 23.7235%; height: 18px; text-align: left;" colspan="3"><?php echo sqlValue("select PRENOM_ELEVE from GES_VOEUX where id='" . makeSafe($data['id']) . "'"); ?></td> </tr> <tr style="height: 18px;"> <td style="width: 27.4765%; height: 18px;">PHOTO</td> <td style="width: 23.7235%; height: 18px; text-align: left;" colspan="3"><?php echo sqlValue("select NUM_NAT from GES_VOEUX where id='" . makeSafe($data['id']) . "'"); ?></td> </tr>
je sais qu'l faut utiliser la balise IMG comme par ex :

Code : Tout sélectionner

echo '<img src="images/globe.gif" border="0" /></div> ';
mais comment associer mon echo en php :

Code : Tout sélectionner

<?php echo sqlValue("select NUM_NAT from GES_VOEUX where id='" . makeSafe($data['id']) . "'"); ?>

merci

Mammouth du PHP | 2703 Messages

21 janv. 2023, 23:21

en mettant
<?php echo sqlValue("select NUM_NAT from GES_VOEUX where id='" . makeSafe($data['id']) . "'"); ?>
à la place de globe.gif

utiliser sqlValue quand on a un seul champ de la table à récupérer, ok, mais quand on a 3 champs, cela exécute 3 fois la requête, une seule requête qui récupère les 3 (et plus) champs, c'est moins gourmand en ressources.

Eléphanteau du PHP | 15 Messages

21 janv. 2023, 23:26

Bonsoir
J’essaye demain
Merci
Oui à propos de votre remarque je vais regarder cela
Merci ! Je vous tiens au courant de la,suite

Mammouth du PHP | 2703 Messages

21 janv. 2023, 23:31

j'ai répondu trop vite.
en remplaçant dans
<img src="images/globe.gif" border="0" />
et non dans
echo '<img src="images/globe.gif" border="0" /></div> ';

Eléphanteau du PHP | 15 Messages

21 janv. 2023, 23:39

Euh je comprends plus😭

Mammouth du PHP | 2703 Messages

21 janv. 2023, 23:41

c'est le même principe que là :
<td style="width: 23.7235%; height: 18px; text-align: left;" colspan="3"><?php echo sqlValue("select NOM_ELEVE from GES_VOEUX where id='" . makeSafe($data['id']) . "'"); ?></td>

Avatar du membre
Mammouth du PHP | 1564 Messages

22 janv. 2023, 13:09

Il te faut faire un lien absolut vers ton image, sinon il prendra l'URL du webmail et non de ton site.