1. #1
    Membre du Club
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    mai 2016
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2016
    Messages : 68
    Points : 55
    Points
    55

    Par défaut Intégrer du php dans du javascript

    Bonjour à tous
    Je cherche un moyen d'intégrer du php dans du javascript
    Code : 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
    24
    25
    26
    27
    28
    29
    30
     
    <script type="text/javascript">
            function afficherNom()
            {
                var nomComplet = document.getElementById("personne").value;
                var nom ="";
                var prenom = "";
                var i;
                var lettre="";
                var trouve=false;
                for (i=0;i<nomComplet.length;i++)
                {
                    lettre=nomComplet.substring(i,i+1);
                    if (trouve===false) nom = nom + lettre;
                    else prenom = prenom + lettre;
                    if (lettre===" ") trouve=true;  
                }
                document.getElementById("ins_recherche").value = nom;
                <?php
                $listePersonne = "select nom, prenom, villeNaiss, anneeNaiss from personne where nom='"?>+nom+<?php"' and prenom='"?>+prenom+<?php"'";
                $req=$bdd->query($listePersonne);
                while ($donnees = $req->fetch())
                {
                    ?>
                        document.getElementById("ins_nom").value = <?php $donnees["nom"];                
                }
                $req->closeCursor();
                ?>
            }
        </script>
    cela ne marche pas et est surement dût à l'implémentation de la variable nom dans la requete sql

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    septembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : septembre 2002
    Messages : 750
    Points : 1 178
    Points
    1 178

    Par défaut

    Ca ça ne peut pas marcher. Le PHP est exécuté avant que la page soit affichée. Si tu veux que quelque chose de ce genre fonctionne il faut utiliser ajax.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $listePersonne = "select nom, prenom, villeNaiss, anneeNaiss from personne where nom='"?>+nom+<?php"' and prenom='"?>+prenom+<?php"'";
    Supposons que tu aies fait la requête sur le serveur. Tu fais une boucle et tu affectes la valeur toujours au même élément. Donc si tu as deux personnes qui ont les mêmes nom et prénom (c'est rare mais ça arrive) tu aurais toujours le dernier résultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                $req=$bdd->query($listePersonne);
                while ($donnees = $req->fetch())
                {
                    ?>
                        document.getElementById("ins_nom").value = <?php $donnees["nom"];                
                }
                $req->closeCursor();
                ?>
    De plus je ne vois pas de ; javascript dans le code qui précède. Le code suivant devrait mieux fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                $req=$bdd->query($listePersonne);
                while ($donnees = $req->fetch())
                {
                    ?>
                        document.getElementById("ins_nom").value = <?php print $donnees["nom"];?>; <= ici
                    <?php                
                }
                $req->closeCursor();
                ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre du Club
    Homme Profil pro
    Developpeur Logiciel
    Inscrit en
    mai 2016
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2016
    Messages : 68
    Points : 55
    Points
    55

    Par défaut

    Merci de m'avoir répondu
    J'ai réussi à trouvé mon erreur ! c'était tout bête
    en fait il faut utiliser echo et mettre le script dans les crochets et ne pas oublié de mettre les guillements autour de la variable pour la valeur
    Je met mon code pour ceux à qui ça peut intéresser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
            $testExiste = "select prenom,nom,villeNaiss,anneeNaiss from personne where nom='$nom'";
            $req=$bdd->query($testExiste);
            // On affiche chaque entrée une à une
            while ($donnees = $req->fetch())
            {        
                 echo "<script type=\"text/javascript\">document.getElementById('ins_prenom').value='".$donnees['prenom']."' </script>"  ;  
                 echo "<script type=\"text/javascript\">document.getElementById('ins_nom').value= '".$donnees['nom']."' </script>"  ;
                 echo "<script type=\"text/javascript\">document.getElementById('ins_villeNaiss').value= '".$donnees['villeNaiss']."' </script>"  ;
                 echo "<script type=\"text/javascript\">document.getElementById('ins_anneeNaiss').value= '".$donnees['anneeNaiss']."' </script>"  ;
            }
            $req->closeCursor(); // Termine le traitement de la requête

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    juillet 2004
    Messages
    4 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : juillet 2004
    Messages : 4 004
    Points : 8 855
    Points
    8 855

    Par défaut

    C'est une très mauvaise pratique que de générer le js avec le langage serveur
    mieux vaut avoir du code php d'un coté et du code html et js de l'autre
    le php ne servant qu'a générer des données ou des fragment de HTML jamais de JS

    il y a énormément de post sur ce sujet.

    A+JYT

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

Discussions similaires

  1. Intégrer du PHP et du JavaScript dans un article
    Par Info-avanvé dans le forum Joomla
    Réponses: 1
    Dernier message: 21/05/2012, 14h53
  2. Intégrer du PHP dans du javascript
    Par smotte761 dans le forum PHP & SGBD
    Réponses: 3
    Dernier message: 27/07/2011, 11h08
  3. Intégrer variables PHP dans Javascript
    Par paintbox dans le forum JavaScript
    Réponses: 5
    Dernier message: 22/03/2011, 12h52
  4. Appel fonction php dans code javascript
    Par licorne dans le forum JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  5. [PHP-JS] Execution d'un script php dans du javascript
    Par Anduriel dans le forum JavaScript
    Réponses: 2
    Dernier message: 13/06/2005, 20h41

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