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 :

[DOM] Interaction entre PHP et Javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Par d�faut [DOM] Interaction entre PHP et Javascript
    J'h�sitais � poster ce topic dans PHP mais il a plus sa place ici je pense.
    Je sais tr�s bien que le PHP s'ex�cute c�t� serveur et le javascript c�t� client.

    J'expose le topo :

    • J'ai un tableau en PHP que je parcourt avec la fonction foreach()
    • J'ai une vid�o en flash et des chapitres
    • J'aurai aim� mettre en �vidence la case des chapitres lorsque je suis bien entre le d�but et la fin du chapitre.

    Voil� mon code simplifi� :

    Code js : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var currentPosition = 0; 
     
    function positionListener(obj) { 
        currentPosition = obj.position;
    }
    currentPosition est donc la position sur la vid�o en dixi�me de seconde.


    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php foreach ( $chapters as $chapter ) { ?>
                        <div class='chapter'>
                            <!-- Affiche les informations du chapitre -->
                                <!-- Titre, description, etc... -->
                            <!-- Affiche la durée du chapitre -->
                            <div class='chap_duration'>
                                Début :<?php echo $chapter['debut'] ?>
                                Fin :<?php echo $chapter['fin'] ?>
                            </div>
                        </div>
                    <?php } ?>


    Ce que j'aurai aim�, c'est de modifi� le css des div 'chapter' et 'chap_duration' lorsque la variable 'currentPosition' du javascript se trouve comprise entre les variables '$chapter['debut']' et '$chapter['fin']' du PHP.

    Merci

  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
    il faut visualiser ce que font chacun de leur cot� php et javascript ...

    php g�n�re le code html javascript ... puis l'envoie au client ...
    donc ta boucle foreach est termin�e avant d'arriver chez le client ...

    qu'est ce qui determine la fin d'un chapitre ?
    c'est du flash ???

    si c'est le cas il faudrait en jouer de l'action script qui lui se passe cot� client ...
    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�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    il faut visualiser ce que font chacun de leur cot� php et javascript ...

    php g�n�re le code html javascript ... puis l'envoie au client ...
    donc ta boucle foreach est termin�e avant d'arriver chez le client ...

    qu'est ce qui determine la fin d'un chapitre ?
    c'est du flash ???

    si c'est le cas il faudrait en jouer de l'action script qui lui se passe cot� client ...
    La fin du chapitre est quand la variable javascript 'currentPosition' vaut la variable PHP $chapter['fin'] mais du foreach, c'est � cause du foreach que je bloque :/

  4. #4
    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
    ce n'est pas comme cela que tu pourras le gerer ...
    comme dit plus haut le for each est termin� avant que la page n'arrive chez le client !!!
    il faudra le faire au moyen d'eun combinaison entre actionscript et javascript ...
    quoi que m�me tout en AS devrait marcher ...
    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 !

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <div class='chap_duration'>
         Début :<?php echo $chapter['debut'] ?>
         Fin :<?php echo $chapter['fin'] ?>
    </div>
    Puisque tu affiches les variables en question sur ta page, il est possible de les r�cup�rer avec JavaScript puis de tester l'�galit� dans une fonction p�riodique.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    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
    Beef la boucle for est termin�e quand la page arrive cot� client il faut juste passer � js les variables au moyen d'action script ... php ne peut rien � ce niveau l�
    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 !

  7. #7
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Je le sais bien, ce que je veux dire, c'est que la valeur de ses variables php sont affich�es dans la page HTML, donc r�cup�rables via le DOM avec JavaScript :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <div class='chap_duration'>
         Début :<?php echo <span>$chapter['debut']</span> ?>
         Fin :<?php echo <span>$chapter['fin']</span> ?>
    </div>
    Ensuite, cot� JavaScript, en imaginant que la variable chapitres par exemple pointe sur une div de classe 'chap_duration', tu peux obtenir :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var debut = chapitre.getElementsByTagName('span')[0].innerHTML;
    var fin = chapitre.getElementsByTagName('span')[1].innerHTML;
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  8. #8
    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
    oui mais comme la page arrive en bloc �a ne donnera rien
    C'est en passant par AS qu'il faut passer une variable � javascript sur la page pour signaler la fin du chapitre ...
    puis avec un setInterval courrant sur la page on teste le changement de la variable ...
    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 !

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Par d�faut
    Je ne connait rien � l'AS D:

    Je pense avoir trouv�, c'est assez barbare mais �a doit fonctionner.

    Je r�cup�re mes valeurs de fin et de d�but dans un tableau PHP puis dans un tableau javascript et l� je compare avec la variable currentPosition.

    EDIT : Voil� en gros ce que j'ai fait :

    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
    31
    32
    33
    34
    35
     
    <?php 
    // Récupère les Mark in/out des chapitres
    for ( $i = 0 ; $i < count( $chapters) ; $i ++ ) {
            $mark_in[$i] = $chapters[$i]['Chapter']['mark_in']/25;
            $mark_out[$i] = $chapters[$i]['Chapter']['mark_out']/25;
    } ?>
    <script type="text/javascript">
    <!--
    <?php
    // Crée un tableau javascript des Mark in/out 
    foreach( $mark_in as $cle => $valeur )
    {
        echo "mark_in[$cle] = '$valeur';";
    } 
     
    foreach( $mark_out as $cle => $valeur )
    {
        echo "mark_out[$cle] = '$valeur';";
    }
    ?>
    var currentPosition = 0; 
     
    function positionListener(obj) { 
    	currentPosition = obj.position;
    	for ( i = 0 ; i < count(mark_in) ; i++ )
    	{
    		if ( currentPosition >= mark_in[i] && currentPosition <= mark_out[i] )
    		{
    			var tmp = $("#test" + i ).get(0);
    			if (tmp) { tmp.innerHTML = ">"; }
     
    		}
    	}
    }
    Pour ma page de test j'ai 3 chapitresn j'ai cr�e un petit span :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <span id="test<?php echo $i ?>"></span>
    Le $i du test vaut bien 0 pour le premier chapitre et est donc comme la premi�re valeur des tableau mark_in et mark_out du javascript.

    Le probl�me c'est que �a ne marche pas, �a fait longtemps que j'ai pas touch� � du JS aussi :d

  10. #10
    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
    tout d�pend de ce que tu souhaites faire au final
    je pensais qu'il s'agissait de faire s'enchainer les flash cot� client ...
    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 !

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Par d�faut
    # J'aurai aim� mettre en �vidence la case des chapitres lorsque je suis bien entre le d�but et la fin du chapitre.
    J'ai pas �t� tr�s clair, en fait j'ai des div pour chaque chapitre (mon foreach), avec comme id chapitre+$i, et j'aurai aim� changer le style de ce div si la position de la vid�o est comprise dans ce chapitre.

    Pas de flash :p

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Par d�faut
    Je double poste car j'ai trouver la solution

    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
    31
    function positionListener(obj) {
    	var mark_in = new Array;
    	<?php
            // Crée un tableau javascript des Mark in/out 
            foreach( $mark_in as $cle => $valeur )
            {
                echo "mark_in[$cle] = '$valeur';\n";
            } 
            ?>
    	var mark_out = new Array;
    	<?php
            foreach( $mark_out as $cle => $valeur )
            {
                echo "mark_out[$cle] = '$valeur';\n";
            }
            ?>
    	var long = <?php echo $long ?>; 
    	currentPosition = obj.position;
    	var i = 0;
    	for ( i = 0 ; i < long ; i++ )
    	{
    		if ( currentPosition >= mark_in[i] && currentPosition <= mark_out[i] )
    		{
    			// Code à ajouter
    		}
    		else
    		{
    			// Code à ajouter
    		}
    	}
    }
    Pour info j'utilise le player flash JW Player.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PHP-JS] interaction entre php et javascript
    Par gabay dans le forum Langage
    R�ponses: 5
    Dernier message: 21/08/2008, 12h12
  2. [DOM] Petit conflit entre PHP et javascript
    Par sliderman dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 16/04/2008, 17h05
  3. [PHP-JS] Communication entre Php et Javascript
    Par tlardoux dans le forum Langage
    R�ponses: 3
    Dernier message: 08/09/2007, 13h39
  4. R�ponses: 1
    Dernier message: 15/05/2006, 22h22
  5. Interaction entre PHP et Word/Excel
    Par NomUtilisateurDejaPris dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 11/04/2006, 15h38

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