[PHP/mySQL] afficher PHP dans champs mySQL

Fermé
otherwise01 - 5 mars 2008 à 12:58
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 8 mars 2008 à 21:48
Bonjour à tous,

Voilà en fait je souhaiterais effectuer:

Ma page.php

$ville="Paris";

SELECT xx FROM `yyy`;

Et xx contient

Bienvenue à <?php echo "$ville ?>.



Seulement ma requête affiche seulement Bienvenue à .

Comment faire ?

Merci
A voir également:

14 réponses

Thamior Messages postés 264 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 18 mars 2014 47
5 mars 2008 à 13:00
Je modifierai ça :

Bienvenue à <?php echo "$ville ?>.

Par ça :

Bienvenue à <?php echo $ville ?>.
0
ça affiche toujours
Bienvenue a .
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
5 mars 2008 à 13:24
Bonjour, si j'ai bien compris, le champ de ta table contient du code PHP que tu voudrais exécuter ?

Alors la fonction eval() est faite pour toi : https://www.php.net/eval
0
Et quand je modifie encore mon enregistrement par : Bienvenue a <?php mixed eval( string $ville) ?>.

toujours pareil, ma page affiche "Bienvenue a."

Ma variable $ville est elle correcte puisque lorsque je saisi simplement "Bienvenue à <?php echo $ville; ?>" sur ma page ça s'affiche correctement...

Comment faire ... ?
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257 > crosslink06
6 mars 2008 à 10:48
Bon alors, le mixed, c'est le type de retour dans la déclaration de la fonction par PHP, il ne faut pas le mettre.

Ensuite, pour utiliser eval() il y'a un exemple concret sur le site, qui correspond exactement à ton cas:

$ville = 'Paris';
$msg = 'Bienvenue à $ville.';
eval("$msg=\"$msg\"");
echo $msg;

Maintenant, si ton message vient directement de ta table SQL,
$ville = 'Paris';
eval("$msg=\"".$row['nom_colonne']."\" ");
echo $msg;

Il faudra par contre que tu retire les balises php dans ta base. Remplacer les valeurs du type "Bienvenue à <?php echo $ville; ?>" par "Bienvenue à $ville".
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
5 mars 2008 à 13:38
bonjour,

tu as tout simplement oublié un ; après le echo

<?php echo $ville; ?>.
0
C'est vrai j'avais oublié un ";".

J'ai modifié l'enregistrement : "Bienvenue a <?php echo $ville; ?>."

mais on m'affiche toujours "Bienvenue a." sur la page...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
6 mars 2008 à 00:52
Salut,

Comme tu peux le voir quand tu mets :

"Bienvenue a <?php echo $ville; ?>."

Tu obtiens :

"Bienvenue a."

Celà veut dire que dans $ville il n'y a rien du tout.

Hm, ta requête est censée faire quoi ? T'as pas fini ta phrase ^^
0
the_unknown Messages postés 5 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 6 mars 2008 1
6 mars 2008 à 13:27
bonjour , :)

je pense que ca vous allez aidé :


$query = mysql_query("SELECT * FROM xxx");

$fetch = mysql_fetch_array($query)
echo "Bién venu à ".$fetch[hello];


merci,
0
Non vous n'avez pas compris, je souhaite afficher un champs de ma base de donnée qui contient du texte + une variable.

Pb : seul le texte s'affiche...
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
6 mars 2008 à 20:03
Il y a un truc que je comprends pas.

index.php

<?php
$ville = "paris";
?>

Bonjour, <br />
Bienvenue a <?php echo $ville; ?>.

ca ne marche pas ???
0
Non, en fait je souhaite executer une requete SQL qui contient des variables php, c'est ça mon problème.

Et à l'affichage j'ai soit que le texte soit le texte et $mavariable au lieu du texte et de la valeur de ma variable...
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
6 mars 2008 à 21:11
Essaye d'être un peu plus clair...

T'as des champs de ta base de données qui contiennent du code PHP que tu aimerais exécuter ?

Si c'est le cas, relis mon post plus haut.

Tu as une requête SQL qui dépend de paramètres qui sont stockés dans des variables PHP ?

Tu n'arrive pas à afficher le résultat d'une requête SQL (résultat qui ne contient PAS de PHP) ?
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
7 mars 2008 à 10:22
Effectivement pas très clair du tout, tu affectes une variable, tu fais une requête dont on n'en voiis pas l'utilité puis tu nous dis que l'affichage ne marche pas O_o

Essaie de nous montrer le plus de code possible (utile) pour qu'on voit réellement de quoi on parle et exprime clairement ce que tu veux faire avec des exemples s'il te plaît car celà peut te sembler très clair pour toi mais pour nous, qui ne connaissons pas du tout ton sujet, on y comprend rien ^^
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 mars 2008 à 13:10
Bonjour,

Ne mets pas ton code php dans un champ de ta base mysql mais des valeurs que tu vas lire ensuite pour les afficher

ex si dans le champ ville de ta table test tu rentres Marseille


ensuite:

$query = mysql_query("SELECT * FROM test");

$fetch = mysql_fetch_array($query)
echo "Bien venue à ".$fetch['ville']; 

0
J'arrive à afficher une requete qui ne contient pas de variable.
Le problème :




dans mapage.php il y a

- ma variable : $ville = Marseille;
- je récupère le champs souhaité : SELECT champs from table
- j'affiche ce champs


et mon champs contient un registrement du type "Bienvenue à $ville"
mais au final, d'affiché j'ai simplement "Bienvenue à "



Merci
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
8 mars 2008 à 18:00
d'accord j'ai compris.

dans ta table, le premier enregistrement est :
"Bienvenue à $ville"

le second est :
"Vous êtes $nom"

le troisième est :
"Vous avez $age"

et tu veux que les $ville, $nom et $age soit considérées comme des variables et non pas simplement comme du texte.
0
Oui voilà. Quand j'affiche l'enregistrement de ma BDD, j'obtient seulement "Bienvenue à ". La variable $ville n'est pas prise en compte... Comment faire ?

Merci
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 mars 2008 à 20:41
parce que au moment de l'affichage php interprete $ville comme une variable et comme elle ne contient rienn il affiche seulement Bienvenue à

Comme je te disait dans mon précédent post, ton principe n'est pas bon, on ne met pas du php dans un champ de la table mais une valeur que l'on vient lire et afficher grâce à une commande php.
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
8 mars 2008 à 21:10
mais c'est justement ce qu'il veu que ca soit interprété comme une variable et surtout qu'il a fait
$ville = "marseille";
un peu plus haut...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 mars 2008 à 21:48
Ha d'accord,

alors le $ doit gener au moment de la requette ou de l'array du fetch

il faut donc l'échapper par un \

mettre dans la table Bienvenue à \$ville

et au moment de l'affichage:

echo stripslashes($fetch[.......
0