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

Langage PHP Discussion :

appel d'un fonction via mysql


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut appel d'un fonction via mysql
    Bonjour à tous,

    Désolé je sais vraiment ou poster.

    Voilà j'ai une fonction php tep_href_link() qui me définit mais les url.
    aucun souci si cette fonction est dans mon code je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=620') . '" title="'.$listing['products_name'].'">test</a>';
    et elle me donne le liens

    là ou ca se complique c'est si j'ai un texte dans ma base sql avec des liens.
    $classification['classification_description'] un champ de type longtext contenant :
    <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=620') . '" title="'.$listing['products_name'].'">test</a>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <html> 
    [...]
     
    $classification_query = tep_db_query("select classification_description from " . TABLE_CLASSIFICATION . " where language_id = '" . (int)$languages_id . "'and classification_id= '".(int)$HTTP_GET_VARS['cid']."'");
    $classification = tep_db_fetch_array($classification_query);
    $description = $classification['classification_description'] ;
    	<?php echo $description;?>
    [...]</html>
    il me donne dans mon code source:
    <a href="' .tep_href_link(FILENAME_PRODUCT_INFO,'products_id=620') . ""title="'.$listing['products_name'].'">test</a>

    il y aurais t il une solution, sans passer pas un sprintf()?


    Merci à vous
    et j'espère avoir été clair

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu dois utiliser eval()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut eval()
    je te remercie,
    j'ai essayer mais ca semble pas fonctionner:

    j'ai
    $classification['classification_description'] = <a href="'.tep_href_link(FILENAME_PRODUCT_INFO,'products_id=620').'">test</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $description = $classification['classification_description'];
    eval( "\$description = \"$description\";" );
    echo 'description:'.$description;
    Mais c'est idem?
    ou est ce que je me trompe?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval( "\$description = \"$description\";" );
    pourquoi tu mets un \devant le $ et a que veux-tu faire avec cette ligne ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut
    Bah à vrai dire j'essaye d'appeler la fonction.
    Tu me dis d'utiliser eval()
    Je regarde sur le manuel.
    Je vois cette syntaxe je l'a reproduits.
    Mais ca marche pas..

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut
    Je vais essayer de réexpliquer mon souci.

    Comme je disais precedemment, j'ai dans un champ mysql
    $classification['classification_description'] = <a href="'.tep_href_link(FILENAME_PRODUCT_INFO,'products_id=620').'">test</a>
    ou tep_href_link() est un fonction php qui me renvoie mon url formaté

    si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="'.tep_href_link(FILENAME_PRODUCT_INFO,'products_id=620').'">test</a>';
    j'ai bien 'test' avec le liens correct

    en revanche si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $classification['classification_description'];
    j'ai 'test', avec un liens qui pointe vers : '.tep_href_link(FILENAME_PRODUCT_INFO,'products_id=620').'

    il ne prend dont pas en compte l'instruction php
    comment puis je donc faire en sorte qu'il le fasse.?

    Sabotage m'a conseillé d'utiliser eval()
    J'ai donc regarder le manuel eval()
    d'ou j'ai tiré l'exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $string = 'tasse';
    $name = 'café';
    $str = 'Ceci est une $string avec mon $name dedans.<br />';
    echo $str;
    eval( "\$str = \"$str\";" );
    echo $str;
    ?>
    que j'ai adapté en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $description = $classification['classification_description'];
    eval( "\$description = \"$description\";" );
    echo 'description:'.$description;
    Mais je pense que je n'avais pas compris, puisque qu'apparement eval() semble faire de la concaténation, je devrais faire?


    $classification['classification_description'] = blaablablabalbalbalabalbal $lien1 balbalbalabalbalablab $lien2 blablabalbalb $lien3


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $lien1 =  tep_href_link(FILENAME_PRODUCT_INFO,'products_id=620')
    $lien2 =  tep_href_link(FILENAME_PRODUCT_INFO,'products_id=720')
    $lien3 =  tep_href_link(FILENAME_PRODUCT_INFO,'products_id=820')
    $description = $classification['classification_description'];
    eval( "$description);
    Ce qui devrais fonctionner si j'ai tout compris, mais n'est vraiment pas optimum, puisqu'il faut alors modifier le code php + les donnée mysql, pour des changement de liens.,
    n'y aurais til pas une autre façon?

    Merci à vous

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/09/2014, 14h48
  2. [Débutant] Appel d'une fonction via une variable
    Par byrong dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/10/2013, 11h26
  3. Appel d'une fonction stockée MySQL depuis un module VB.Net
    Par mddkkr dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 22/09/2013, 17h12
  4. Appel d'une fonction via l'invite de commande
    Par Pascale38 dans le forum Général Java
    Réponses: 5
    Dernier message: 09/12/2009, 18h12

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