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

AJAX Discussion :

[AJAX] Du JavaScript vers MySQL


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut [AJAX] Du JavaScript vers MySQL
    Bonjour,

    Je veux créer une base de donnée sql contenant 18 attributs pour chacun des 500 fichiers d'un répertoire présent sur le serveur
    (les fichiers sont des .gpx de mes randonnées, les attributs sont la longueur, la durée , le dénivelé etc..)


    * la page traiteGPX.php lit les noms des fichiers du répertoire et les stocke dans la variable array fichier[]. Un script javascript (AJAX) calcule - pour chaque fichier[i] - les 18 attributs qui m'intéressent.
    * la page envoimysql.php, récupère par $GET, les 18 données et les écrit dans la bdd mysql à la ligne fichier[i]

    Je cherche la façon de construire la boucle qui écrirait la BD en passant de javascript à PHP
    Est ce possible de faire les deux actions dans la même page ?

    NB : J'ai écrit les parties qui fonctionnent en copiant des bouts de code que je comprends

    ci joint le code (principe seulement) de la page traiteGPX

    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
    <head>
     
    <script type="text/javascript">
     
    function submitform()
    { document.myform.submit(); }
     
    function lecturegpx(arg)
    {
    // calculs sur les données XML et stockage des résultats dans la variable globale resultat[]
    resultat[1]=date;
    resultat[2]=fichier;
    resultat[3]=nb;
    }
    </script>
    </head>
     
     
    <body>
     
    <?php
     
    //*** on lit le répertoire et on charge $fichier[]     
    // …..
    $fichier= array();
     
    while($element = readdir($dir)) 
            {$fichier[] = $element;}
     
    $json= json_encode($fichier);
    $i = 9;// en attendant de savoir faire la boucle sur tous les fichiers
     
    ?>
     
     
    <script type="text/javascript">
    var listgpx= Array();
    var listgpx=<?php echo $json; ?> ;// passage de PHP à JS
    j=<?php echo $i ;?>;
    var fichier = listgpx[j];
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
     
    xmlhttp.open("GET",fichier,false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML; 
     
    x= new Array();
    x=xmlDoc.getElementsByTagName("trkpt");
    //.…..
     
    var resultat=new Array();
     
    lecturegpx(fichier);
    //à ce stade je dispose, chez le client, d'une variable JS resultat[], pour le $fichier[9]
    </script>
     
    <a href="javascript:document.getElementById('entree').value=resultat[]; submitform();"> envoi </a> <br /> 
    <form name="myform" action="envoi_mysql.php" method="get">
    <input id="entree" name="entree" type="hidden">
    </form> 
     
    </body >
    </html>
    Pour la page envoimysql

    Code php : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     
    <head><meta content="text/html; charset=utf8" http-equiv="content-type">
    <title>BDGPX</title>
    // peut être qu'un header XML aiderait ici
     
    </head>
    <body>
    <?php
    include mysqlconnect;
     if ( isset($_GET['entree']))   
      { $nom=$_GET['entree'];		   
        echo "nom : ".$nom." <br>";
    // reste à trouver comment "parser" ou évaluer cette chaine de caractères pour créer $date, $element, $nb     
       }
     
     
    $element=$fichier[9];
     
    $sql="INSERT INTO listeGPX  VALUES ( '$date', '$element','$nb')";
    				mysql_query($sql)or die(mysql_error()); 
     
    ?>
     
     
    </body>

    vu la qualité de mon code, je m'attends à des railleries, donc je ne peux être que positivement surpris

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pourquoi passer par JavaScript, alors que tout peut être fait directement en PHP ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,

    c'est une bonne question !! Je n'avais pas envisagé cette solution .
    J'avais passé beaucoup de temps à créer le JavaSript qui exploitait le XML d'un fichier .gpx.
    Il peut y avoir jusqu'à 5 000 points dans un enregistrement .gpx et il faut récupérer 4 valeurs pour chaque point (date-heure,longitude, latitude, altitude).
    Il me reste à trouver comment faire l'équivalent de ce traitement en PHP.

    Merci quand même pour cette voie.

Discussions similaires

  1. Variable ajax Javascript vers PHP
    Par sani300 dans le forum AJAX
    Réponses: 1
    Dernier message: 03/09/2017, 04h17
  2. [AJAX] Tableau Javascript vers PHP
    Par Dédé86 dans le forum AJAX
    Réponses: 3
    Dernier message: 07/06/2009, 14h36
  3. [AJAX] Passage de Javascript vers AJAX : besoin de qqes conseils !
    Par winnie82 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/08/2007, 14h30
  4. Connexion depuis LAN impossible vers Mysql sur RH8
    Par RamDevTeam dans le forum Administration
    Réponses: 4
    Dernier message: 10/02/2005, 15h28
  5. Export base Access vers MySql
    Par jjn1er dans le forum Outils
    Réponses: 7
    Dernier message: 10/03/2003, 23h50

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