[PHP/mySQL] afficher PHP dans champs mySQL

otherwise01 -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   47
 
Je modifierai ça :

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

Par ça :

Bienvenue à <?php echo $ville ?>.
0
otherwise01
 
ça affiche toujours
Bienvenue a .
0
Xil Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   257
 
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
crosslink06
 
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   Statut Membre Dernière intervention   257 > crosslink06
 
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   Statut Membre Dernière intervention   430
 
bonjour,

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

<?php echo $ville; ?>.
0
crosslink06
 
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   Statut Membre Dernière intervention   143
 
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   Statut Membre Dernière intervention   1
 
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
otherwise01
 
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   Statut Membre Dernière intervention   430
 
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
otherwise01
 
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   Statut Membre Dernière intervention   257
 
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   Statut Membre Dernière intervention   143
 
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   Statut Membre Dernière intervention   894
 
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
otherwise01
 
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   Statut Membre Dernière intervention   430
 
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
otherwise01
 
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   Statut Membre Dernière intervention   894
 
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   Statut Membre Dernière intervention   430
 
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   Statut Membre Dernière intervention   894
 
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