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

Langage PHP Discussion :

Inclure variable de Javascript


Sujet :

Langage PHP

  1. #1
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut Inclure variable de Javascript
    bonjour,
    l'accès au forum javascript ne marche pas alors je post ici.
    voici mon souci

    j'ai une carte de la France dynamique.
    Quand on passe sur le département, celui-ci change de couleur et une infobulle appparait avec N° du département et son nom. (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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    window.onload = function() {
    var paper = new Raphael(document.getElementById('canvas_france'), 587.5, 550);
     
    // Les styles visuels pour toutes les régions
    var attr = {
    fill: "#e5e5e5", /* Couleur de remplissage par defaut */
    stroke: "#959595", /* Couleur des bordures par defaut */
    "stroke-width": 1,
    "stroke-linejoin": "round"
    };
     
    var dept28 = '<?php i=28 echo $dept.{$i}; ?>' ;
     
    var region = {};
    region.corsesud = paper.path("M 445.33847,488.9562 L 445.33847,491.11245 L 447.30722,492.48745 L 450.61972,494.42495 L 450.83847,495.98745 L 448.86972,496.5812 L 445.74472,497.17495 L 445.74472,498.5187 L 446.90097,499.7062 L 447.11972,503.61245 L 451.40097,504.98745 L 452.96347,505.36245 L 454.33847,507.5187 L 453.36972,508.8937 L 451.80722,509.4562 L 450.61972,511.61245 L 449.46347,512.98745 L 450.02597,516.48745 L 452.96347,516.29995 L 453.74472,516.8937 L 456.49472,515.5187 L 457.27597,516.29995 L 455.90097,519.23745 L 457.27597,520.61245 L 454.93222,522.36245 L 453.36972,525.86245 L 457.65097,526.86245 L 463.71347,527.42495 L 461.18222,530.36245 C 461.18222,530.36245 459.99289,529.90364 459.46347,530.1437 C 459.44782,530.15141 459.41536,530.16589 459.40097,530.17495 C 459.39647,530.17828 459.37406,530.20271 459.36972,530.2062 C 459.36553,530.20986 459.34249,530.23363 459.33847,530.23745 C 459.33478,530.24161 459.31073,530.26437 459.30722,530.2687 C 459.30054,530.27771 459.28192,530.29022 459.27597,530.29995 C 459.27319,530.30499 459.27856,530.32597 459.27597,530.3312 C 459.27118,530.34203 459.24871,530.38211 459.24472,530.3937 C 459.24293,530.39969 459.2463,530.41876 459.24472,530.42495 C 459.24199,530.43772 459.21532,530.47387 459.21347,530.48745 C 459.21207,530.50144 459.21394,530.53512 459.21347,530.54995 C 459.21348,531.52651 457.86972,533.8937 457.86972,533.8937 L 459.80722,536.0187 L 463.33847,538.17495 L 469.96347,539.92495 L 471.90097,540.7062 L 473.68222,541.48745 L 472.49472,543.6437 L 475.61972,543.4562 L 476.21347,544.8312 L 479.33847,544.8312 L 480.11972,541.11245 L 478.15097,540.7062 L 480.90097,537.79995 L 479.93222,536.79995 L 480.11972,535.04995 L 483.65097,533.11245 L 483.83847,530.9562 L 481.49472,530.7687 L 479.93222,532.11245 L 479.93222,530.17495 L 483.05722,529.98745 L 484.02597,527.6437 L 484.80722,520.79995 L 484.21347,517.86245 L 484.15097,515.04995 L 480.74472,517.29995 L 476.68222,517.4562 L 476.33847,514.6437 L 476.86972,513.92495 L 475.61972,513.04995 L 475.27597,508.2687 L 474.74472,507.3937 L 472.61972,507.3937 L 471.55722,506.5187 L 471.55722,503.1437 L 470.15097,502.2687 L 469.08847,501.73745 L 466.96347,499.0812 L 467.11972,497.48745 L 464.49472,497.48745 L 463.58847,494.8312 L 459.86972,494.8312 L 457.93222,492.17495 L 458.46347,491.29995 L 457.24472,490.5812 L 454.40097,491.11245 L 453.33847,490.42495 L 449.46347,490.42495 L 449.08847,489.36245 L 446.90097,488.9562 L 445.33847,488.9562 z ").attr(attr);
    region.corsesud.attr({title: '2A - Corse Sud' });
    region.corsesud.click(function(){ window.location.href = "controle.php?do=departement&dpt=2A"; });
    ...
     
     
    var current = null;
    for (var state in region) {
    	region[state].color = "#c6d2ec"; /* Couleur de remplissage au rollover */
    	(function (st, state) {
    	st[0].style.cursor = "pointer";
     
    	st[0].onmouseover = function () {
    	st.animate({fill: st.color}, 100);
    	paper.safari();
    	};
     
    	st[0].onmouseout = function () {
    		st.animate({fill: "#e5e5e5"}, 300);
    		paper.safari();
    	};
     
    	})(region[state], state);
    }
     
    }
    J'ai aussi un fichier en php avec une requête qui permet de connaitre le nombre d'inscrit par département.

    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
    <?php
     
    for ($i = 1 ; $i<=90; $i++) {
     
    $sql=("SELECT count(*) as compteur   FROM matable WHERE dept=:departement");
     			$sql_mdp= $mysql->prepare($sql);
    			$exec_sql_mdp=$sql_mdp->execute(array('departement' => $i)) ;
    		    $result_sql_mdp=$sql_mdp->fetch ();
    			$cpt=$result_sql_mdp['compteur']; 
    			$dept{$i}=$cpt;
    			echo 'dept'.$i.'='.$dept{$i}.''?><br/> <?php ;
     
    			}
     
    ?>
    Comment faire pour que le nombre d'inscrit apparaissent dans l'infobulle?
    prenons pour exemple l'Eure et Loire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //je crée la variable dept28.
    var dept28 = '<?php i=28; echo $dept.{$i}; ?>' ;
     
    et après pour l'info bulle???
    region.corsesud.attr({title: '2A - Corse Sud' ???});

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tout ça est monstrueux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     $sql= "SELECT count(*) as compteur, dept  FROM matable GROUP BY dept");
    $sth = $mysql->query($sql);
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
    	$dept[$row['dept']] = $row['compteur'];
    } 
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    region.corsesud.attr({title: '2A - Corse Sud : <?php echo $dept[28]; ?>'});
    Sinon écrire tes 100 lignes javascript à la main est absurde, il faut utiliser PHP, un tableau et une boucle.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    merci pour ta réponse.
    la requête marche au poil.

    but
    le javascript ne fonctionne pas.

    j'ai le fichier map.php qui "appelle" la carte et la librairie Et qui execute la requete "compteur".

    comment faire pour que la variable $dept[$row['dept']] php passe dans une variable Javascript?

Discussions similaires

  1. [PHP-JS] Passage variables de Javascript à Php
    Par ladybird dans le forum Langage
    Réponses: 4
    Dernier message: 18/07/2006, 14h13
  2. Transmettre à une page des variables en javascript?
    Par kenny49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/06/2006, 15h33
  3. variable html + javascript
    Par ghaoui dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2005, 12h12
  4. [PHP-JS] passage de variable de javascript à php
    Par msieurx dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2005, 21h42
  5. Réponses: 2
    Dernier message: 23/08/2005, 20h20

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