[php] calcul entre 2 champs

Fermé
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 - 22 mai 2007 à 14:57
 manu - 23 mai 2008 à 14:33
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 ;)
A voir également:

15 réponses

citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
24 mai 2007 à 10:07
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
khalos Messages postés 34 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 25 mai 2007 23
24 mai 2007 à 11:13
manque un ';' apres ton $compteur=0 ;)
1
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
23 mai 2007 à 09:26
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
khalos Messages postés 34 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 25 mai 2007 23
23 mai 2007 à 15:46
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
23 mai 2007 à 16:05
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
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
24 mai 2007 à 13:21
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
khalos Messages postés 34 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 25 mai 2007 23
24 mai 2007 à 17:48
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
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
25 mai 2007 à 08:32
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
khalos Messages postés 34 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 25 mai 2007 23
25 mai 2007 à 10:37
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
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
25 mai 2007 à 13:26
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
khalos Messages postés 34 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 25 mai 2007 23
25 mai 2007 à 15:38
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
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
29 mai 2007 à 09:05
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
citron-76 Messages postés 22 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 29 juin 2007 2
29 mai 2007 à 15:31
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
en tout cas, le français c'est pas ton truc, c'est même plus une lacune, c'est GRAVE!!!!!!!!
0
khalos Messages postés 34 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 25 mai 2007 23
22 mai 2007 à 15:04
comment tu stockes/obtiend tes vitesses dans ton scripts ?
-1