IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

code php dans une variable chaine php [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut code php dans une variable chaine php
    bonjour je voudrais mettre tout ça dans une chaine pour l'utiliser ensuite avec eval mais j'y arrive pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <tr><td>Equipement</td><td><select name="equipement">
    <?php
    $req_interv = mysql_query("SELECT * FROM T_UTIL WHERE mat_util IN  (SELECT mat_util FROM tj_util_serv AS x WHERE no_serv = 2 AND date_entree = (SELECT MAX(date_entree) FROM tj_util_serv WHERE x.mat_util = mat_util GROUP BY mat_util))");
    $nb_interv = mysql_numrows($req_interv);
    //Construction de la liste des intervenants
    for ($i=0;$i<$nb_interv;$i++)
    { 
      $nom_interv = mysql_result($req_interv,$i,"nom_util");
      $pren_interv = mysql_result($req_interv,$i,"pren_util");
      echo "<option value=$mat_util> $pren_interv . $nom_interv </option>";
    }
    ?>
    j'ai sans arret des parse error quoi que je fasse

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Tout ça quoi

    Montre nous ce que tu as déjà essayé on verra...

    Pour les parse error :
    http://php.developpez.com/faq/?page=...ur_parse_error

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    j'en ai fait des combinaisons
    j'ai procédé par concaténations
    les variables php je les met hors cotes genre 'blablabla' . $variable . 'blabla....'
    en fait je m'embrouille surtout avec les ' et les "

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Oui eh bien donne le code de ton essai on verra après ce qu'on peut faire.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    j'ai ça par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $chaine = "echo \"<tr><td>NOM</td><td><select name=\"equipement\">\"" . "\n";
    $chaine .= "$req_interv = mysql_query(\"SELECT * FROM T_UTIL WHERE mat_util IN  (SELECT mat_util FROM tj_util_serv AS x WHERE no_serv = 2 AND date_entree = (SELECT MAX(date_entree) FROM tj_util_serv WHERE x.mat_util = mat_util GROUP BY mat_util))\");" . "\n";
    $chaine .= "$nb_interv = mysql_numrows(" . $req_interv . ");" . "\n";
    //Construction de la liste des intervenants
    $chaine .= "for ($i=0;$i<" . $nb_interv . ";$i++)" . "\n";
    $chaine .= "{" . "\n";
    $chaine .= "$nom_interv = mysql_result(" . $req_interv . "," . $i . ",\"nom_util\");" . "\n";
    $chaine .= "$pren_interv = mysql_result(" . $req_interv . "," . $i . ",\"pren_util\");" . "\n";
    $chaine .= "echo \"<option value=" . $mat_util . ">" . $pren_interv . $nom_interv . "</option>\";" . "\n";
    $chaine .= "}";
     
    eval($chaine);
    echo $chaine;
    qui me donne comme résultat dans le code source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <br />
    <b>Parse error</b>:  parse error, expecting `','' or `';'' in <b>c:\program files\easyphp1-8\www\di\consultation\consult_di.php(264) : eval()'d code</b> on line <b>1</b><br />
    echo "<tr><td>NOM</td><td><select name="equipement">"
    Resource id #6 = mysql_query("SELECT * FROM T_UTIL WHERE mat_util IN  (SELECT mat_util FROM tj_util_serv AS x WHERE no_serv = 2 AND date_entree = (SELECT MAX(date_entree) FROM tj_util_serv WHERE x.mat_util = mat_util GROUP BY mat_util))");
    5 = mysql_numrows(Resource id #6);
    for (-1=0;-1<5;-1++)
    {
     = mysql_result(Resource id #6,-1,"nom_util");
     = mysql_result(Resource id #6,-1,"pren_util");
    echo "<option value=3></option>";
    }
    j'ai bien ma liste déroulante qui se crée avec le nom devant mais elle est vide

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Il est peut-être préférable de jouer avec les quotes et les guillemets, essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $chaine = 'echo "<tr><td>NOM</td><td><select name=\'equipement\'>;' . '\n';
    $chaine .= '$req_interv = mysql_query("SELECT * FROM T_UTIL WHERE mat_util IN  (SELECT mat_util FROM tj_util_serv AS x WHERE no_serv = 2 AND date_entree = (SELECT MAX(date_entree) FROM tj_util_serv WHERE x.mat_util = mat_util GROUP BY mat_util))");' . '\n';
    $chaine .= '$nb_interv = mysql_numrows(' . $req_interv . ');' . '\n';
    //Construction de la liste des intervenants
    $chaine .= 'for ($i=0;$i<' . $nb_interv . ';$i++)' . '\n';
    $chaine .= '{' . '\n';
    $chaine .= '$nom_interv = mysql_result(' . $req_interv . ',' . $i . ',"nom_util");' . '\n';
    $chaine .= '$pren_interv = mysql_result(' . $req_interv . ',' . $i . ',"pren_util");' . '\n';
    $chaine .= 'echo "<option value=' . $mat_util . '>' . $pren_interv . $nom_interv . '</option>";' . '\n';
    $chaine .= "}";
    Ca marchera sûrement pas mais ça va peut-être faire avancer le truc un peu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Stockage code php dans une variable
    Par shafte09 dans le forum Langage
    Réponses: 5
    Dernier message: 02/02/2009, 01h11
  2. Mettre du code php dans une variable
    Par JohnBrown011 dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2008, 13h33
  3. [Tableaux] Insérer script php dans une variable
    Par Hydrae dans le forum Langage
    Réponses: 4
    Dernier message: 27/09/2007, 21h35
  4. recuperer la valeur d'une session PHP dans une variable javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2006, 18h33
  5. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo