[php] calcul entre 2 champs

citron-76 Messages postés 22 Statut Membre -  
 manu -
bonjour a tts,

actuelment en stage je dois réaliser un site dynamique permettant de traiter des fichier excel qui contienne des information sur la circulation routiére ( la voie, l'heure, la vitesse et la longeur de chaque véhicules).

mon probléme est que j doit calculer la vitesse relative entre chaque véhicule c'est a dire vitesse du véhicule moins celle du véhicules présedant.. je ne vois vrément pa comment réaliser ce calcul.

merci de votre aide ( si vous avez pas asser d'info prévené moi)

citron-76 ;)
Configuration: Windows 98
Internet Explorer 6.0

15 réponses

  1. citron-76 Messages postés 22 Statut Membre 2
     
    khalos j un petit soussi avec ton code, j regarder se que tu ma écrit j'y avait pas pensé pourtant j fait des études en programmation j'ai honte :(. mais question P.H.P je suis pas très doué!!

    ton code prés retouche me donne sa:

    <?php

    $host = 'localhost';
    $user = 'root';
    $pass = '';

    // connection à la DB
    $link = mysql_connect("localhost", "root", "");
    mysql_select_db('test', $link) or die(mysql_error());

    $select = 'SELECT `do_vitess` FROM `dossier_excel` ';
    $compteur=0
    $req=mysql_request($select,$link) or die ('Erreur : '.mysql_error() );

    while ($current_val = mysql_fetch_array($req) {
    if ($compteur > 0 ) {
    $v_relative=$current_val['do_vitess']-$var_stock;
    }
    $var_stock=$current_val['do_vitess'];//important qu'il soit apres ton operation, car on ecrase à chaque occurence de la boucle
    $compteur=$compteur+1;
    echo " vitesse relative entre vehicule".$compteur." et vehicule ".$compteur+1." =" .$v_relative.";
    }

    ?>

    mais il me renvoi le message d'erreur suivant :

    Parse error: parse error in c:\program files\easyphp1-8\www\test\vi_re.php on line 15
    (line 15 correspond à : $req=mysql_request($select,$link) or die ('Erreur : '.mysql_error() );
    )

    sais tu d'ou vient les probléme?? et comment le résoudre??

    merci pour cet aide précieuse!! ;)
    citron
    1
  2. khalos Messages postés 34 Statut Membre 23
     
    manque un ';' apres ton $compteur=0 ;)
    1
  3. citron-76 Messages postés 22 Statut Membre 2
     
    j m'éxplique,

    j un fichier excel qui se présente sous cet forme:

    voie | heure-min | sec-sen | vitesse | longeur
    0000 1240 5842 0095 0056 1er véhicule
    0001 1540 4210 0060 0035 2eme véhicule
    ....

    j crée une table dans phpmyadmin (ou avec un sript php) de la méme topologie et j'importe mon fichier excel tt va bien ;).

    donc mon probléme c'est que j ne sai pas si je peut fair une opération entre la vitesse de mon premier véhicule et de mon dexiéme pour calculé la vitesse relative que j stokerai dans une variable??

    je ne pa étre plu prési ;) merci de votre aide!!
    citron
    0
  4. khalos Messages postés 34 Statut Membre 23
     
    donc tu stock dans une base de donné type MySQL ? si c'est ça :

    la syntaxe exacte est a revoir, je tape ça à la volé en postant. mais ça doit donner un truc avec cette logique :

    $compteur=0
    $req=mysql_request ( 'SELECT [tes champs] FROM [tes tables]');
    
    while ($current_val = mysql_fetch_array($req) {
       if ($compteur > 0 ) {
          $v_relative=$current_val['nom de ton champ vitesse']-$var_stock;
          }
       $var_stock=$current_val['nom de ton champ vitesse'];//important qu'il soit apres ton operation, car on ecrase à chaque occurence de la boucle
       $compteur=$compteur+1;
       echo " vitesse relative entre vehicule".$compteur." et vehicule ".$compteur+1." = ".$v_relative;
    }


    En gros le but est de stocker la valeur du vehicule precedent ( $var_stock ), et s'assuré qu'il y ait bien eu au moins un vehicule avant pour faire la soustraction ( $compteur )

    Si t'as besion de plus detail sur le code, hésite pas à demander.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. citron-76 Messages postés 22 Statut Membre 2
     
    merci sa devrai bien m'aider j testerai sa demain et te d'indiquerai si tt c bien pass car la c la fini ma journé :) hofff

    encor merci de ton aide

    citron
    0
  7. citron-76 Messages postés 22 Statut Membre 2
     
    Dsl te de déranger encor 1 fois, surtout vu l'erreur présédante ( encor une foi de plus j honte) mes la j fai attention enfin j pense!!

    Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\test\vi_re.php on line 23

    line 23 = echo " vitesse relative entre vehicule".$compteur." et vehicule ".$compteur+1." =" .$v_relative.";

    tu vois se qui va pa??
    0
  8. khalos Messages postés 34 Statut Membre 23
     
    tu fais attention, mais pas assez ! :)

    regarde bien tes " dans ton echo, indice : il y en a un de trop ! :) ( et donc un . de trop aussi, mais c'est bien d'avoir pensé au . pour le " de trop ^^ )

    PS : c'est le genre d'erreurs qui sautent au yeux quand on utilise un editeur de text qui fait de la colorisation de syntaxe. perso j'utilise notepad++
    0
  9. citron-76 Messages postés 22 Statut Membre 2
     
    Oui moi aussi j'utilise sa (notepad++) mais il reste toujour une erreur, je pense que le ".$compteur+1." ne lui plais pas tro! :|

    et aussi j essay de mettre juste ".$compteur." il me trouve toujour une erreur :[
    (Parse error: parse error in c:\program files\easyphp1-8\www\test\vi_re.php on line 24)

    mais pourquoi je me suis lancer dans la programmation?!! lol
    0
  10. khalos Messages postés 34 Statut Membre 23
     
    nan, ce qu'il n'aime pas , c'est ." entre $v_relative et le ; :)

    mais en effet, il peut ne pas aprecier le .$compteur+1. telquel. à stocker en variable histoire d'être sure.
    0
  11. citron-76 Messages postés 22 Statut Membre 2
     
    OUE encor une erreur cool!!! lol

    Fatal error: Call to undefined function: mysql_request() in c:\program files\easyphp1-8\www\test\vi_re.php on line 15

    $select = 'SELECT `do_vitess` FROM `dossier_excel` ';
    $compteur=0;
    line 15 : $req=mysql_request($select,$link) or die ('Erreur : '.mysql_error() );

    while ($current_val = mysql_fetch_array($req))
    {
    if ($compteur > 0 ) {
    $v_relative=$current_val['do_vitess']-$var_stock;
    }
    $var_stock=$current_val['do_vitess'];
    $compteur=$compteur+1;
    echo "vitesse relative entre vehicule $compteur et vehicule $compteur+1= $v_relative ";

    j pense je vais changer de vocation la!!!! ;]
    0
  12. khalos Messages postés 34 Statut Membre 23
     
    a la palce de
    $link = mysql_connect("localhost", "root", "");
    mysql_select_db('test', $link) or die(mysql_error()); 


    met
    mysql_connect("localhost", "root", "");
    mysql_select_db("nom de ta base");
    $req=mysql_request( ta requete, sans le link );


    si ça marche pas , je seche :p
    0
  13. citron-76 Messages postés 22 Statut Membre 2
     
    c'est bon sa MARCHE, sa courre mémé!! enfaite il y a 2 truc qu'il aimé pas.

    la premier ces le $compteur+1 qui ne prennait pas en compte.

    la deuxiéme ces la fonction mysql_request qui ne fonctionner pas, donc je l'ai remplacer par mysql_query tout symplement.

    merci de ton aide khalos, j'aurai surmen une nouvelle énigmes à te poser très prochainement!!

    a bientot!
    citron
    0
  14. citron-76 Messages postés 22 Statut Membre 2
     
    voila une nouvelle énigme dit moi se que tu en pense!!!

    j'ai une nouvelle question à vous poser!!

    je vous esplique ma table se presente de la façon suivante:

    voie;0001.
    heure/minute; 12, 1502, 562.
    seconde/sentieme; 158, 1236.
    vitesse; 80, 100.
    longeur; 120, 80.

    si le champ heure/minute est égale à 12 sa correspond à 00h12min et si le champ est égale à 1502 sa correspond à 15h02min.
    vu que mysql ne prend pa en compte les 00 inutile il les suprime.

    se que je doit réaliser ces de prendre le champ "heure/minute" et le diviser en 2 pour avoir un champ heure et un champs minute, si le champ "heure/minute" est à 4 chiffre prendre les 2 premier et les méttres dans une variable puis les 2 suivant dans une autre. et si il n'en contient que 2 méttre 0 dans le champs heure et le reste dans le champs minutes.

    merci de m'éclairé, tchao..
    0
  15. manu
     
    en tout cas, le français c'est pas ton truc, c'est même plus une lacune, c'est GRAVE!!!!!!!!
    0
  16. khalos Messages postés 34 Statut Membre 23
     
    comment tu stockes/obtiend tes vitesses dans ton scripts ?
    -1