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

JavaScript Discussion :

inclure js dans php


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 71
    Par défaut inclure js dans php
    Bonjour,
    je veux construire une liste d'articles en php, dont seuls les titres et dates s'affichent du premier coup d'oeil (c'est la partie php), tandis que le texte ne se déroule que si on clique sur un petit triangle(c'est la partie js qui contient à son tour une requête php). ça marche très bien tant que je n'ai qu'un seul article. Mais dès qu'il ya une liste, il y a problème car je n'arrive pas à inclure le code js dans la boucle php.
    Voilà ce que j'ai essayé - mais qui ne marche pas.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
      <?php 
    $sql='SELECT * FROM editos  ORDER BY ID';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $mois=$data['mois'];
    $annee=$data['annee'];
    $titre=$data['titre'];
    $texte=$data['texte'];
     
    while ($data = mysql_fetch_array($req)) { 
     
    echo '<div id="'.$data['ID'].'"> </div>'.($data['mois']).' ' .$data['annee'].' : "'.htmlentities($data['titre']).'" ';
     
    echo'<div onclick="javascript:swap_couche(\'edito\')">Lire ...<img name=\'triangle\' src=\'images/triangle.jpg\' border="0" alt="Déplier/Replier" />';
    echo '</div><script language=\'JavaScript\' type="text/javascript">';
    echo '<script type="text/javascript" src="mon_fichier_script.js"></script>';
     echo '<div id=\'Layeredito\' onclick="javascript:swap_couche(\'edito\')" style="display:none">';
     
    echo $texte;
    echo '</div>'; 
     
    }
    mysql_free_result ($req);
    ?>
    Je serais très heureuse si quelqu'un pouvait me donner la solution - je commence à comprendre à peu près php, mais avec java j'ai du mal.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    mais avec java j'ai du mal.
    D'autant plus que java n'a rein a voir avec JavaScript.

    Php s'exécute coté serveur.
    Le navigateur coté client lui ne connait que le html et le JavaScript.
    Considère que ton php est une machine à écrire du html/js
    Une fois que php a fini de rédiger le code html/js, il l'envoie vers le navigateur.
    Lorsque le code html / js est interprété par le navigateur, php n'existe plus.
    Lorsque ta page a fini de charger coté client, regarde le code source de la page.. tu y verras ce que ton php a rédigé ...

    Il te faut donc savoir quel code html / js tu souhaites faire rédiger à php.

    En gros dans ton code là tu tentes d'insèrer un fichier js autant de fois que d'occurrences de la boucle ...

    Et encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '</div><script language=\'JavaScript\' type="text/javascript">';
    echo '<script type="text/javascript" src="mon_fichier_script.js"></script>';
    où l'on voit clairement que les balises sont bancales !!


    tu vas te retrouver cote cleint avec avec le code html/js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    </div><script language=\'JavaScript\' type="text/javascript">
    <script type="text/javascript" src="mon_fichier_script.js"></script>
    Un evenement n'attend pas une recette de crèpes suzette ???
    de plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="javascript:swap_couche(\'edito\')"
    javascript: est totalement superflu

    En résumé, la balise de lien vers le fichier script n'a besoin d'être appelée qu'une seule fois .
    Ensuite quand à savoir ce que fait ta fonction swap_couche ... selon moi il doit lui manquer le paramètre de l'objet clické ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 71
    Par défaut Merci
    Merci d'avoir pris le temps de regarder mon problème. Je m'excuse pour mon ignorance, je ne savais même pas que javascript et java étaient deux choses différentes.
    Ta réponse m'a permis de comprendre comment je pouvais voir ce que fait mon code php: j'affiche le code source de la page générée et je le compare à ce que j'ai écrit.
    Par contre, pour l'introduction de mon petit code javascript que j'ai copié sur un forum - c'est trop compliqué pour moi, je crois qu'il vaut mieux que j'abandonne. Je chercherai une autre solution. J'ai testé toute la journée de différentes manières, la dernière,
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php 
    $sql='SELECT * FROM editos  ORDER BY ID';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $mois=$data['mois'];
    $annee=$data['annee'];
    $titre=$data['titre'];
    $texte=$data['texte'];
     
    while ($data = mysql_fetch_array($req)) { 
    $ID=$data['ID'];
     
    echo'<div onclick="javascript:swap_couche(\''; echo $ID; echo '\')">Lire ...<img name=\'triangle\' src=\'images/triangle.jpg\' border="0" alt="Déplier/Replier" />';
    echo '</div><script language=\'JavaScript\' type="text/javascript">';
    echo '<!-- ' ;				
    echo 'vis[\''; echo $ID; echo '\'] = \'hide\'; ';				
    echo ' //--> </script>' ;
    echo '<div id=\'Layer'; echo $ID; echo '\' onclick="javascript:swap_couche(\''; echo $ID; echo '\')" style="display:none">';
    echo $texte;
    echo '</div>'; 						 
    }
    mysql_free_result ($req);
    ?>
    me donne un résultat presque parfait - presque.
    Il ressemble en tout point au code source que j'obtiens pour une requête sans boucle.
    Je rappelle que le javascript fonctionne très bien pour une requête sans boucle.
    D'abord je copie le code source de la page générée, d'abord la partie où je fais une requête sans boucle et qui marche.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div onclick="javascript:swap_couche('fest')">Autres Festivals&nbsp;<img name='triangle' src='images/triangle.jpg' border="0" alt="Déplier/Replier" /></div><script language='JavaScript' type="text/javascript">
    <!--
    vis['fest'] = 'hide';
    //-->
    </script><div id='Layerfest' onclick="javascript:swap_couche('fest')" style="display:none">
    <ul class="d">(... résultat de la requête...)</ul>                           
    </div>
    puis le premier résultat de ma boucle
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div onclick="javascript:swap_couche('4')">Lire ...<img name='triangle' src='images/triangle.jpg' border="0" alt="Déplier/Replier" /></div><script language='JavaScript' type="text/javascript"><!-- <br />vis['4'] = 'hide'; <br /> //--> </script><div id='Layer4' onclick="javascript:swap_couche('4')" style="display:none"></div>
    La seule différence que je vois entre les deux, c'est que le bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <!--
    vis['fest'] = 'hide';
    //-->
    ne se met pas sur trois lignes dans le 2e cas. J'ai essayé d'inclure des sauts de ligne, rien n'y fait.
    Il va sans doute que j'apprenne vraiment javascript, mais ça sera plus tard, pour l'instant je me prends assez la tête avec php.
    Enfin, si quelqu'un peut voir où est le problème dans mon code, je serais quand même très contente... Merci en tout cas.

Discussions similaires

  1. Inclure css dans php
    Par stefanelle dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/12/2008, 12h01
  2. Inclure un fichier PHP dans un programme PERL?
    Par Munkey74 dans le forum Langage
    Réponses: 2
    Dernier message: 31/05/2007, 11h01
  3. inclure un code php dans un fichier html
    Par killer_instinct dans le forum Langage
    Réponses: 5
    Dernier message: 12/03/2007, 14h13
  4. [Mail] Inclure une fonction php dans un mail
    Par Tobleron dans le forum Langage
    Réponses: 12
    Dernier message: 26/02/2007, 14h23
  5. [PHP-JS] inclure du javascript dans php
    Par CB56 dans le forum Langage
    Réponses: 4
    Dernier message: 13/09/2006, 14h53

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