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

PHP & Base de données Discussion :

SQL => PHP / Javascript [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut SQL => PHP / Javascript
    Bonjour,

    Je sais que cette question est souvent posé car j'ai fait plusieurs forum où je trouve casiement les mêmes ligne de commande.

    J'aimerai passer une variable PHP dans une fonction JavaScript.

    Mon problème :
    Mal grès plusieurs tentative je n'arrive pas à obtenir ce que je souhaite.

    Il est possible que je ne vois pas une erreur qui empêche le fonctionnement.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php
    //Connection à la base de donnée.
    include( "XXX.php" );
    //récupération des informations.
    $sql = 'SELECT Id, Heure FROM XXX';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data = mysql_fetch_array($req);
    mysql_free_result ($req);
     
    //Mise dans les variables.
    $Id = $data['Id'];
    $Heure = $data['Heure'];
    ?>
     
    <html>
    <head>
    <script type="text/javascript">
    function getDt(){
    	//dt=new Date();
    var dt=("<? echo ($Heure); ?>");
     
    hrs=dt.getHours();
    min=dt.getMinutes();
    sec=dt.getSeconds();
    tm=" "+((hrs<10)?"0":"") +hrs+":";
    tm+=((min<10)?"0":"")+min+":";
    tm+=((sec<10)?"0":"")+sec+" ";
    document.getElementById('display').innerHTML=tm;
    setTimeout("getDt()",1000);
    } 
    </SCRIPT>
    </head>
    <body onLoad="getDt()">
    <table border="0" align="left" cellspacing="1" cellpadding="1" >
    <tr>
    <td><p>Compteur : </p></td>
    <td><div id="display"></div></td>
    </tr>
    </table>
    </body>
    </html>
    Déja essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type="text/javascript">
    var dt=("<? echo ($Heure); ?>");
    </script>
     
    <script type="text/javascript">
    function getDt(){
    .
    .
    .
    </script>

    Voilà, je n'attends pas un code tout fait mais plus une critique sur une erreur plausible.

    Merci d'avance.

    Cordialement.

    Un novice ;-)

  2. #2
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    Tu as essayé en incluant le javascript dans le php (et non l'inverse) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<script language="javascript">
    var dt=$Heure;
    </script>';

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Merci Freedauphin, mais cela ne fonctionne pas non plus.

    Encore merci de t'être posé sur mon problème.

    Cordialement.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Salut essaies un peu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var dt="<?php echo $Heure; ?>";
    parce que si ton serveur n'est pas configuré pour accepter la notation 'courte' PHP (<? ?>) , tu dois mettre '<?php' pour commencer un bloc php.

    Si ça ne marche pas, tu devrais afficher la valeur voulue par un echo pour voir si tu la reçois bien.

    Alpha.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Merci Alpha 232, malgré ta proposition cela ne fonctionne pas.

    Encore merci pour ton aide.

    Cordialement.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript">
    var dt=  <?php echo $Heure; ?>;
    </script>

  7. #7
    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
    Que contient $Heure (valeur, type de variable, etc) ?

    Ne marche pas, ne fonctionne pas ne sont pas des remarques constructives.
    Regardez le code source de la page donnée et regardez ce qu'il y a d'écrit au niveau du JS, regardez si cela correspond à ce que vous vouliez et dites nous ce que c'est.

    Si cela correspond à ce que vous vouliez, alors l'erreur se trouve dans le reste de votre JS. Sinon, c'est que ça vient de $Heure qui ne contient peut-être pas ce que vous souhaitez... Dites-nous en plus

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Merci Shikiryu,

    effectivement tu as raison, ma réponse ne fut pas constructive, j'en suis désolé.

    Plus d'informations :
    La variable $Heure vient d'une base SQL. La valeur intégrée à cette variable est une base horaire (Heure du Type hh:mm:ss).

    Je cherche à mettre cette heure dans la petite routine JS afin que cette dernier reprenne le calcul de l'heure normale.

    La finalités sera d'utilisée la Variable $Heure et de la soustraire à l'heure actuelle pour réalisée une sorte de compteur.

    Une Echo $Heure; au niveau de la zone PHP m'indique bien ce que j'ai dans ma base SQL.

    J'espère avoir apporté un peu plus d'informations.

    Cordialement.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Je pense que j'ai compris ton souci.
    La date que tu recois de la bd est de type string.
    Tu récupère ce string ds js et tu essaies de le manipuler avec des fonction date/time, --> incompatibilité.
    Voici ce que je propose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function getDt(){
    	//dt=new Date();
    var dt="<?php echo $Heure; ?>";
    var dt1= dt.split(":");
    tm=" "+((dt1[0]<10)?"0":"") +dt1[0]+":";
    tm+=((dt1[1]<10)?"0":"")+dt1[1]+":";
    tm+=((dt1[2]<10)?"0":"")+dt1[2]+" ";
    document.getElementById('display').innerHTML=tm;
    setTimeout("getDt()",1000);
    }
    En fait , on splitte le string au niveau des ":" et on récupère les valeurs heures/min/sec.


    Dis-moi ce que tu en penses.
    Alpha.

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Bonjour,

    Tout d'abord merci Alph232, pour ton aide.
    L'affichage de l'heure se fait correctement, mais celle-ci ne s'incrémente pas, elle reste fixe.

    Afin quelle puisse "vivre" est il possible de décomposer par ségemnt hh/mm/ss avec le fonction gethours, getminutes et getsecondes? dans le but de renvoyer chaque parti dans une variable pour réaliser la fonction désirée.

    Encore merci.

    Je continue à " bidouiller " mon code pour trouver une solution.

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Salut,

    Pour ce qui est de la décomposition, tu peux retrouver les valeurs "heures" ds dt1[0], "minutes" ds dt1[1] et "sec" ds dt1[2]...

    Dans l'exemple précédent, la page affiche l'heure présente dans la base de données.

    Veux tu qu'a partir de là, la date (ou l'heure ) s'incrémente automatiquement en fonction de l'heure locale?

    Alpha.

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Bonjour,

    Pour répondre à ta question Alpha 232, voici ce que je chercher à faire :
    -> Récupérer l'information heure de la base.
    -> Récupérer l'heure actuelle.
    -> Faire la différence des deux et prendre le résultat comme base du compteur.

    Bon je sais c'est tordu comme idée, mais bon.

    Pour le moment j'ai bien récupérer les informations de la base. Je suis bloqué sur l'incrémentation qui ne se fait pas.

    Encore merci pour ton aide.

    Cordialement.

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par alpha232 Voir le message
    Je pense que j'ai compris ton souci.
    La date que tu recois de la bd est de type string.
    Tu récupère ce string ds js et tu essaies de le manipuler avec des fonction date/time, --> incompatibilité.
    Voici ce que je propose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function getDt(){
    	//dt=new Date();
    var dt="<?php echo $Heure; ?>";
    var dt1= dt.split(":");
    tm=" "+((dt1[0]<10)?"0":"") +dt1[0]+":";
    tm+=((dt1[1]<10)?"0":"")+dt1[1]+":";
    tm+=((dt1[2]<10)?"0":"")+dt1[2]+" ";
    document.getElementById('display').innerHTML=tm;
    setTimeout("getDt()",1000);
    }
    En fait , on splitte le string au niveau des ":" et on récupère les valeurs heures/min/sec.


    Dis-moi ce que tu en penses.
    Alpha.
    tu sais que javascript gère les Date ?
    https://developer.mozilla.org/fr/R%C...s_globaux/Date

  14. #14
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut Réponse & solution
    Bonjour,

    Je tenais à remercier tous ceux qui m'ont aidé pour mon problème.

    J'ai enfin réussi à faire ce que je voulais, et tout fonctionne.

    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
    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
    <?php
    //Connection à la base de donnée.
    include( "Connect.php" );
    //récupération des informations.
    $sql = 'SELECT Id, Heure FROM acces';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data = mysql_fetch_array($req);
    mysql_free_result ($req);
     
    //Mise dans les variables.
    $Id = $data['Id'];
    $Heure = $data['Heure'];
    ?>
    <html>
    <head>
     
    <SCRIPT LANGUAGE="Javascript">
    var dt="<?php echo $Heure; ?>";
    var dt1= dt.split(":");	
     
    function getDt(){
    // Récupération de l'heure venant de la BD puis conversion en secondes.	
    hrs1=dt1[0]*3600;
    min1=dt1[1]*60;
    sec1=dt1[2]*1;
     
    time1 = hrs1 + min1 + sec1;
     
    // Récupération de l'heure actuelle puis conversion en secondes.	
    dt=new Date();
    hrs=dt.getHours()*3600;
    min=dt.getMinutes()*60;
    sec=dt.getSeconds()*1;
     
    // Calcul de l'écart pour définir le "Zero" de départ.
    time = hrs + min + sec;
    time2 = time - time1;
     
    // Conversion des secondes en hh:mm:ss.
    hrs2=Math.floor((time2 / 3600));
    min2=Math.floor(((time2 % 3600) / 60));
    sec2=Math.floor((((time2 % 3600) % 60)));
     
    // Définition de l'affichage.
    tm=" "+((hrs2<10)?"0":"") +hrs2+":";
    tm+=((min2<10)?"0":"")+min2+":";
    tm+=((sec2<10)?"0":"")+sec2+" ";
     
    	document.getElementById('display').innerHTML=tm;
    setTimeout("getDt()",1000);
    }
    </SCRIPT>
    </head>
     
    <body onLoad="getDt()">
    <table border="0" align="left" cellspacing="1" cellpadding="1" >
    <tr>
    <td><p>Syst&eacute;me : </p></td>
    <td><div id="display"></div></td>
    </tr>
    </table>
    </body>
    </html>

    Si vous constatez des erreurs ou des améliorations n'hésitez pas à faire signe.

    Toutes remarques et / ou critiques sera le bienvenu, cela permet de progresser.

    Encore merci à tous.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Partenaire] Développeur PHP/SQL/AJAX/Smarty/JavaScript
    Par smooky57 dans le forum Autres
    Réponses: 0
    Dernier message: 11/02/2009, 01h31
  2. Réponses: 0
    Dernier message: 19/02/2008, 11h05
  3. [SQL] Protéger les requetes SQL d'injection comme du php, javascript, ect
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/06/2007, 15h32
  4. [SQL] problème : PHP & SQL > < Javascript
    Par Sophie2097 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/10/2006, 20h12
  5. [PHP-JS] [debutant] php javascript sql
    Par flydragon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/04/2006, 16h07

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