Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de variable

Javascript / PHP

Sujet résolu
    11 juin 2009 à 17:57:36

    Bonjour, quelqu'un pourrait-il m'expliquer pour le code suivant me renvoit "1" à chaque fois au lieu de 1, 2, 3, 4, 5..
    Un code tout simple: Je déclare une variable, puis je l'incrémente à chaque fois qu'on appuie sur le mot essai, et je montre le nombre.
    $nbtest = 0;
    

    function test()
    	{ <?php $nbtest++;?>
    	  alert("<?php echo $nbtest?>");
    	}
    

    <p onclick="test()">Essai</p>
    



    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2009 à 18:07:40

      Tu mélange javascript et php.
      Javascript est interprété chez le client, et php sur le serveur (Grosse différence).
      var nbtest = 0;
      function test() {
         nbtest++;
         alert(nbtest);
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2009 à 18:28:12

        Eventuellement...

        <?php $nbtest=0; ?>
        <script type="text/javascript">
        var nbtest = <?php echo $nbtest; ?>;
        function test() {
          nbtest++;
          alert(nbtest);
        }
        </script>
        <p onclick="test()">Essai</p>
        
        • Partager sur Facebook
        • Partager sur Twitter
          11 juin 2009 à 18:30:24

          Mais impossible de récupérer la valeur JS en PHP sauf avec Ajax !

          Tu nous as fait un bon mix des langages là :)
          • Partager sur Facebook
          • Partager sur Twitter
            11 juin 2009 à 18:35:35

            Ben oui c'est fait expres en fait je veux afficher les 5 dernières news de mon site mais une par une et qu'à chaque fois qu'on clique sur une flèche de gauche ou droite ca affiche la suivante/précedente. Mais je dois le faire en javascript pour éviter de recharger la page à chaque fois. Si vous me dîtes que je dois utiliser AJAX je me pends. :-°
            • Partager sur Facebook
            • Partager sur Twitter
              11 juin 2009 à 18:59:43

              Hm... si vraiment tu ne veux pas utiliser Ajax, tu pourrais charger les 5 news directement dans ta page, mais en masquer 4 (avec un display none).

              Ainsi, il te suffira en JS de changer les display pour faire apparaître la news que tu veux.
              • Partager sur Facebook
              • Partager sur Twitter
                11 juin 2009 à 19:17:55

                A vrai dire c'est exactement ce que j'ai fait :D .
                Mais c'est pour changer les displays voici ma fonction:
                var id = "<?php echo $premier['id']?>";
                var idsuiv ="<?php 
                mysql_connect("---", "---", "---");
                mysql_select_db("---");
                $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '.$nbn.', 1');
                $resultat = mysql_fetch_array($retour);
                echo $resultat['id'];
                ?>";
                	function chgNews(as)
                	{
                		var Sens = as;
                
                		if(Sens == "suivant")
                		{
                			<?php $nbn++; ?>
                                        alert(id + " vers " + idsuiv + " " + Sens + " nbn : <?php echo $nbn?>" );
                                        document.getElementById("N" + id).style.display = "none";
                                        document.getElementById("N" + idsuiv).style.display = "block";
                                        id = idsuiv;
                                        idsuiv = "<?php mysql_connect("---", "---", "---");	
                                        mysql_select_db("---");
                                        $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '.$nbn.', 1');
                                        $resultat = mysql_fetch_array($retour);
                                        echo $resultat['id'];
                                        ?>";
                		}
                		else
                		{
                                 // Pas encore codé
                		}
                	}
                

                Comme tu vois, ca marche les deux premiers coups mais après ca ne marche plus ^^.
                • Partager sur Facebook
                • Partager sur Twitter
                  11 juin 2009 à 19:31:32

                  "Comme tu vois"... euh là je vois pas grand chose...

                  Tu peux mettre ce qui est généré à partir de ce PHP ? (Parce que j'arrive pas à extraire les infos des BDD avec ma tête...)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 juin 2009 à 19:40:14

                    C'est bon j'ai trouvé comment contourner le problème: Au lieu de donner l'id de la news comme l'id de la BDD je mets 1 , 2 ,3 ..
                    Merci de m'avoir aidé la prochaine fois je ferais moins le malin lorsqu'il s'agit de mélanger les langages...

                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 juin 2009 à 20:40:40

                      Eu par contre la tu auras des problèmes.
                      Un code php ne peut être interprété par le client.
                      Il faut que tu enregistre dans la page que tu envoies toutes les news (<div style="display:none"></div>) etc...
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Problème de variable

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown