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 :

Javascript et php


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Par défaut Javascript et php
    Php et Javascript
    dianroca - 15 jui 2010 à 23:48
    Modifier
    Bonjour,
    J'ai rencontré un problème dans un code de programmation web. En effet je dois recuperer des données (php) à partir d'une base msql et les afficher defaçon de graphiques(courbe, histogramme ect...) en utilisant le plugin flot de jquery. Après avoir recuperer mes données,je les utlises dans mon code javascript qui est sensé afficher les graphes après une action click sur le bouton d'affichage. J'utilise un div comme espace où mon graphe sera créer.Cependant j'arrive pas à faire marcher le div dans mon code javascript. En gros mes courbes ne sont pas affichées pour l'instant

    Mon code est le suivant:
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Code php : echo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script language="javascript" type="text/javascript" src="jquery.js"></script>
    <script language="javascript" type="text/javascript" src="jquery.flot.js"></script>
     
     
     
     
    </head>
     
    <body>
    <h2>Affichage Graphique</h2>
     
    <div id="placeGraphe" style="width:800px;height:400px"></div>
     
    <p>
    <?php
     
    $host="localhost:3308";
    $login="";
    $mp="";
    $nom="stage";
    try
    {
    $base=new PDO("mysql:host=localhost:3308;dbname=stage", "", "");
     
    }
    catch(Exception $e)
    {
    die('Erreur: ' .$e->getMessage());
     
    }
     
    //$rep=$base.query('select * from concept where idCpt <100');
     
    $heure=$base->query('select heure_legale from lorient_1h_brut');
     
    $debit=$base->query('select DUPLEIX_QTH_Debit_Traite_1h__A_ from lorient_1h_brut');
     
    $str_date="new Array(\"0\"";
    $str_deb="new Array(\"0\"";
    while($data2=$heure->fetch())
    {
    //echo $data2['heure_legale'];
    $date[]=$data2['heure_legale'];//tableau 1
    $str_date.=",\"".$data2['heure_legale']."\"";
    }
     
    $heure->closeCursor();
     
    while($data3=$debit->fetch())
    {
    $deb[]=$data3['DUPLEIX_QTH_Debit_Traite_1h__A_']; //tableau 2
    $str_deb.=",\"".$data3['DUPLEIX_QTH_Debit_Traite_1h__A_']."\"";
    }
    $str_deb.=")";
    $str_date.=")";
    //echo "\n".$str_date."\n";
    //echo "\n".$str_deb."\n";
     
    $debit->closeCursor();
    $taillex=count($date);
    $tailley=count($deb);
    //echo $taillex;
     
    //echo $tailley;
     
    ?>
     
    <script id="source" language="javascript" type="text/javascript">
    (function grapher(deb, date, taillex,placeGraphe) {
    //date[]; //Tableau des x du code php
    //deb[]; //Tableau des y du code php
    //taillex ;//taille su tableau date
    //alert("salut");
    for (var i = 0; i < taillex; i++)
    //alert(i);
    //alert(date[i]);
    d1.push([date[i], deb[i]]); //push permet de créer des points à partir de coordonnées
     
    $.plot($("#placeGraphe"), [ // plot permet d'afficher les courbes
    {
    data: d1,
    lines: { show: true, fill: true }
    }
    ]
     
    });
    </script>
    <input type='button' value='cliquer' onclick='javascript:grapher(<?php echo $str_deb; ?>,<?php echo $str_date; ?>,<?php echo $taillex; ?>);' />
     
     
    </p>
     
     
     
    </body>
    </html>
    Si quelqu'un à une idée là dessus elle sera la bienvenue.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Le passage du php au javascript de tes éléments date et deb est un peu complexe... As tu essayé de poser des alert dasn ton javascript pour voir si tu récupérais bien tes données?

    Des choses comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert (deb[i]);alert (date[i]);
    Une fois que tu as vérifié ça, le problème viendra au choix de ton push ou de ton plot(et dans ce cas là, il faut lire la doc de la fonction plot de jQuery, si elle existe)

    Bon courage.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Par défaut
    Je reçois bien les données récupérées dans date et deb avec des alert. Pour les fonctions push et plot, elles marchent bien car je les ai testé avec un code html et javascrip (sans php) en créant mes points.Je pense que le problème viens de l'appel de la balise div dans le code javascript mais je ne sais pas comment le résoudre.

    Merci

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Soit je ne suis pas bien réveillé, soit ton code javascript manque de parenthèses, accolades, etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    (function grapher(deb, date, taillex,placeGraphe) {
        for (var i = 0; i < taillex; i++)
             d1.push([date[i], deb[i]]); 
        $.plot( $("#placeGraphe"), [
             {
               data: d1,
               lines: { show: true, fill: true }
             }
           ]
     
    }
    );
    ERE

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Par défaut
    Oui il manquait une parenthèse fermante après la fonction plot. Je l'ai corrigé mais apparemment le problème ne se situe pas là bas.

  6. #6
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Ok.

    Maintenant, pourquoi ta fonction est entre parenthèses ? Tu crées ainsi un contexte qui fait qu'elle ne peut pas être appelée. Donc la question est: comment fais tu pour l'appeler ?

    ERE

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Par défaut
    Les parenthèses ne servent à rien.Je les ai enlevé et ça marche maintenant. Je ne sais pas si quelqu'un s'y connait en flot(le plugin de jquery)?

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par dianroca Voir le message
    Les parenthèses ne servent à rien.Je les ai enlevé et ça marche maintenant. Je ne sais pas si quelqu'un s'y connait en flot(le plugin de jquery)?
    Moi non plus, mais si tu as un souci avec ce plugin, va voir du côté du forum jQuery.

    ERE

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,

    Je crois que le soucis vient du fait que tu "penses" recevoir 2 tableaux alors que tu a 2 chaînes dans ton code javascript il me semble...

    Les paramètres de la fonction grapher(date, deb, ...) reçoivent $str_date et $str_deb

    Essaye d'insérer quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tabdate = date.split('\');
    var tabdeb = deb.split('\');
    ensuite utilises tabdate[i] et tabdeb[i] à la place de date[i] et deb[i]

    devyan

  10. #10
    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 : 54
    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
    Citation Envoyé par dianroca Voir le message
    Les parenthèses ne servent à rien.Je les ai enlevé et ça marche maintenant. Je ne sais pas si quelqu'un s'y connait en flot(le plugin de jquery)?
    Tu peux toujours regarder : Visualisation professionnelle de vos données avec Flot et jQuery
    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

Discussions similaires

  1. [PHP-JS] Javascript ou PHP
    Par lynchmaniac dans le forum Langage
    Réponses: 7
    Dernier message: 27/10/2005, 10h10
  2. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  3. Cherche conseils pour livre HTML, JavaScript et PHP
    Par oodini dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 15h45
  4. [PHP-JS] convertir un bout javascript en php ?
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/08/2005, 23h42
  5. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00

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