[PHP/mySQL] afficher PHP dans champs mySQL

otherwise01 -  
Alain_42 Messages postés 5413 Statut Membre -
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
Configuration: Windows Vista
Firefox 2.0.0.12

14 réponses

  1. Thamior Messages postés 267 Statut Membre 47
     
    Je modifierai ça :

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

    Par ça :

    Bienvenue à <?php echo $ville ?>.
    0
  2. otherwise01
     
    ça affiche toujours
    Bienvenue a .
    0
  3. Xil Messages postés 351 Statut Membre 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
    1. 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
      1. Xil Messages postés 351 Statut Membre 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
  4. sfel Messages postés 1645 Statut Membre 430
     
    bonjour,

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

    <?php echo $ville; ?>.
    0
    1. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chico200987 Messages postés 856 Statut Membre 144
     
    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
  7. the_unknown Messages postés 5 Statut Membre 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
    1. 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
  8. sfel Messages postés 1645 Statut Membre 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
  9. 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
    1. Xil Messages postés 351 Statut Membre 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
  10. chico200987 Messages postés 856 Statut Membre 144
     
    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
  11. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  12. 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
  13. sfel Messages postés 1645 Statut Membre 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
  14. 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
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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
  15. sfel Messages postés 1645 Statut Membre 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
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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