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 :

code php à l'intérieur des balises javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut code php à l'intérieur des balises javascript
    Salut !

    j'ai un problème avec avec mon code . Je vais utiliser du code php à l'intérieur des balises <script> pour passer une variable à un lien href. Je n'ai pas réussi à avoir le bon résultat car j'ai un problème dans la syntaxe. Voici le code :
    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
     
    <script type="text/javascript">
    	function procMe(celDiv,id){
                $(celDiv).click(function (){
                    var objet =this.innerHTML;
    		<?php	
    		    $base = mysql_connect ('localhost', 'root', ''); 
    		    mysql_select_db ("mabase", $base) ; 
    		    $sql = 'SELECT id, objet FROM messages ORDER BY objet asc';
                        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	            while ($data = mysql_fetch_array($req)){?>
    		var ch1 = '<a href="consulterMessage.php?id=<?php echo $data['id']; ?> " class="vClass" title="consulter le message">'; 
    		var a = ch1.concat(objet) +'</a>'<?php } ?>;
    		$(this).html(a);
            });
        } 
                     <?php   
                           mysql_free_result ($req); 
                           mysql_close ();
                     ?>
    </script>

    ma boucle while ne marche pas très bien et j'ai le même id pour tous mes liens. Je ne sais pas où est le problème et j'avoue que le code n'est pas propre.
    Merci d'avance

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    a vrai dire je ne comprends même pas comment ton php redige ton html
    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
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut
    je ne comprends pas ce que vous n'avez pas compris .
    en fait voilà le script sans le php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
    function procMe(celDiv,id){
            $(celDiv).click(function (){
                var objet =this.innerHTML;
    	    var ch1 = '<a href="consulterMessage.php" class="vClass" title="consulter le message">';
    	    var a = ch1.concat(objet) +'</a>';
    	    $(this).html(a);
            });
        } 
    </script>
    et ce que je veux faire c'est passer la variable id à mon lien et ça je dois le faire avec ce code php que je n'arrive pas pour le moment à combiner avec mon script :

    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
    <?php
    $base = mysql_connect ('localhost', 'root', ''); 
    mysql_select_db ("mabase", $base) ; 
     
    $sql = 'SELECT id, objet FROM messages ORDER BY objet asc';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<b/>'.mysql_error()); 
     
    while ($data = mysql_fetch_array($req)) {
    	echo '<a href="consulterMessage.php?id='.$data['id'].'" target="_blank"></a>';
    }
     
    mysql_free_result ($req); 
    mysql_close ();
     
     
    ?>
    J'espère que le problème est plus clair maintenant.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Peut-on voir le code HTML généré?
    J'ai peur que ça va redéclarer plusieurs fois les variables ch1 et a et ce sera le dernier qui sera retenue à la fin de l’exécution de la fonction.

    A+.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Par défaut
    oui effectivement c'est ce qui se passe
    je ne sais pas comment corriger ce problème avec la boucle while . Voilà le code html de la page


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function procMe(celDiv,id){
            $(celDiv).click(function (){
                var objet =this.innerHTML;
    	    var ch1 = '<a href="consulterMessage.php?id=121 " class="vClass" title="consulter le message">'; 
    	    var a = ch1.concat(objet) 		
    	    var ch1 = '<a href="consulterMessage.php?id=129 " class="vClass" title="consulter le message">'; 
    	    var a = ch1.concat(objet) +'</a>';
    	$(this).html(a);
     
            });
        }

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Ton code "fonctionne" ( http://jsfiddle.net/BAMw8/3/ )

    Tout dépend de :
    • Comment tu appelles cette fonction
    • Que dois réellement produire ce code


    Si j'analyse ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function procMe(celDiv,id){       // à quoi sert 'id' alors qu'il n'est pas utilisé ?  
        $(celDiv).click(function (){   // comme ça il faut que tu envoies un sélecteur    
            var objet =this.innerHTML; // $(this).html() ?
            var ch1 = '<a href="consulterMessage.php?id=121 " class="vClass" title="consulter le message">';  
            var a = ch1+objet+'</a>';    
            console.log(a);        
            var ch1 = '<a href="consulterMessage.php?id=129 " class="vClass" title="consulter le message">';          
            var a = ch1+objet+'</a>'; // Donc ch1 et a sont à chaque fois modifiés...
            console.log(a);   
            $(this).html(a);    // Donc 1 seul lien
        });     
    }

Discussions similaires

  1. Code rajouté à la fin des fichiers javascript
    Par vladock dans le forum Sécurité
    Réponses: 15
    Dernier message: 23/11/2010, 11h12
  2. [MySQL] générer code php a partir des tables
    Par jrad31 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/07/2010, 09h59
  3. [MySQL] code php pour avoir des cases a cocher + FPDF
    Par kleyde89 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2010, 03h49
  4. Réponses: 6
    Dernier message: 19/04/2008, 14h03

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