HEX
Server: Apache
System: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User: u41188965 (3074900)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /homepages/16/d176908298/htdocs/wsb4118896501-old/pcolmar2/addpass.php
<?php

require("./dbparams.php");
import_request_variables('g','p_');

$link = mysql_connect($hostn, $login, $passw) or die("Impossible de se connecter au serveur sql");

mysql_select_db($dbnam) or die("erreur de connexion � la base");

// Recherche d'un passage d�j� enregistr� 

$query = "SELECT * FROM passages where idpcs=$p_pcs and dossard=$p_dos";
$result = mysql_query($query) or die("Query error: $query");
$num = mysql_numrows($result);
$rec = 0;

// Si oui, on le supprime et on avance tous les suivants d'une place

if ($num > 0) {
   $row = mysql_fetch_array($result, MYSQL_ASSOC);
   $place = $row["place"];
   $otp = $row["total"];  
   mysql_free_result($result);
   $query = "UPDATE passages set place=place-1 where idpcs=$p_pcs and place>$place";
   $result = mysql_query($query) or die("Query error: $query");
   mysql_free_result($result);
   $query = "DELETE FROM passages where idpcs=$p_pcs and dossard=$p_dos";
   $result = mysql_query($query) or die("Query error: $query");
   $rec = 1;   
};
mysql_free_result($result);

// Si c'est une suppression on s'arr�te l�, les incoh�rences sont � la charge de l'utilisateur

if ( substr($p_heure,0,10) == "1900-01-01" ) {
   echo "ok";
   exit;
};

// On va chercher le temps de repos au d�but du troncon

$query = "SELECT depart,hdepart,repos FROM hpcs WHERE idpcs=$p_pcs and categ='$p_cat'";
$result = mysql_query($query) or die("Query error: $query");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$rep = $row["repos"];

// et l'heure de d�part �ventuelle
if ( $row["depart"] != "" ) {
   $hd = $row["hdepart"];
}

// sinon l'heure de d�but est l'heure du passage pr�c�dent 
else {
   mysql_free_result($result);
   $query ="SELECT heure FROM passages WHERE idpcs<$p_pcs and dossard=$p_dos order by idpcs desc limit 1";
   $result = mysql_query($query) or die("Query error: $query");
   $row = mysql_fetch_array($result, MYSQL_ASSOC);
   $hd = $row["heure"];
};
mysql_free_result($result);

// On peut alors tout ce que l'on sait sur le nouvel enregistrement

$query = "INSERT INTO passages(idpcs,heure,categ,dossard,tpstr) values($p_pcs,'$p_heure','$p_cat',$p_dos,timediff('$p_heure',date_add('$hd', interval $rep hour)))";
$result = mysql_query($query) or die("Query error: $query");
mysql_free_result($result);

// On calcule le temps cumul� en faisant la somme des temps des troncons

$query = "SELECT sec_to_time(sum(time_to_sec(tpstr))) as cumul from passages where idpcs<=$p_pcs and dossard=$p_dos";
$result = mysql_query($query) or die("Query error: $query");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$tps = $row["cumul"];
mysql_free_result($result);

// Mise � jour du temps total

$query = "UPDATE passages SET total='$tps' where idpcs=$p_pcs and dossard=$p_dos";
$result = mysql_query($query) or die("Query error: $query");
mysql_free_result($result);

// Calcul de la place, en comptant ceux qui sont avant

$query = "SELECT COUNT(idpass) as place FROM passages where idpcs=$p_pcs and total<'$tps' and categ='$p_cat'";
$result = mysql_query($query) or die("Query error: $query");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$rng = $row["place"]+1;
mysql_free_result($result);

// Mise � jour de la place

$query = "UPDATE passages SET place='$rng' where idpcs=$p_pcs and dossard=$p_dos";
$result = mysql_query($query) or die("Query error: $query");
mysql_free_result($result);

// On recule d'une place ceux qui sont derri�re

$query = "UPDATE passages SET place=place+1 where idpcs=$p_pcs and categ='$p_cat' and total>'$tps'";
$result = mysql_query($query) or die("Query error: $query");
mysql_free_result($result);

// Calcul du kilom�trage total

$query = "SELECT SUM(kms) as dist FROM hpcs INNER JOIN pcs ON hpcs.idpcs=pcs.idpcs where hpcs.idpcs<=$p_pcs and categ='$p_cat'";
$result = mysql_query($query) or die("Query error: $query");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$kms = $row["dist"];
mysql_free_result($result);

$query = "SELECT kms FROM pcs where idpcs=$p_pcs";
$result = mysql_query($query) or die("Query error: $query");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$km = $row["kms"];
mysql_free_result($result);

$query = "SELECT time_to_sec(total) as total, time_to_sec(tpstr) as tr from passages where idpcs=$p_pcs and dossard=$p_dos";
$result = mysql_query($query) or die("Query error: $query");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$tp  = $row["total"];
$tr  = $row["tr"];
mysql_free_result($result);

$kms = $kms / $tp *3600;
$km = $km / $tr * 3600;

$query = "UPDATE passages SET moytr=$km,moygen=$kms where idpcs=$p_pcs and dossard=$p_dos";
$result = mysql_query($query) or die("Query error: $query");
mysql_free_result($result);


if ( $rng == 1 ) {
   $query = "UPDATE passages SET ecart=timediff(total,'$tps')  where idpcs=$p_pcs and categ='$p_cat'";
}
else {
   $query = "SELECT total FROM passages where idpcs=$p_pcs and categ='$p_cat' and place=1 limit 1";
   $result = mysql_query($query) or die("Query error: $query");
   $row = mysql_fetch_array($result, MYSQL_ASSOC);
   $tps = $row["total"];
   mysql_free_result($result);
   $query = "UPDATE passages SET ecart=timediff(total,'$tps')  where idpcs=$p_pcs and dossard=$p_dos";
};
$result = mysql_query($query) or die("Query error: $query");
mysql_free_result($result);


if ( rec == 1) {
   $query = "SELECT arrivee FROM hpcs where idpcs=$p_pcs and categ='$p_cat' and arrivee='A'";
   $result = mysql_query($query) or die("Query error: $query");
   $num = mysql_numrows($result);
   mysql_free_result($result);
   if ( $num == 0 ) {
      $query = "SELECT idpass FROM passages where idpcs>$p_pcs and dossard=$p_dos order by idpcs limit 1";
      $result = mysql_query($query) or die("Query error: $query");
      $num = mysql_numrows($result);
      if ( $num > 0 ) {
         $row = mysql_fetch_array($result, MYSQL_ASSOC);
         $pas = $row["idpass"];
         mysql_free_result($result);
         $query = "UPDATE passages set tpstr=subtime(heure,'$p_heure') where idpass=$pas";
         $result = mysql_query($query) or die("Query error: $query");
      };
   }
   else {
      $query = "UPDATE passages SET total=addtime(total,subtime('$tps','$otp')) where idpcs>$p_pcs and dossard>$p_dos";
      $result = mysql_query($query) or die("Query error: $query");
   };
   mysql_free_result($result);
};   
 
echo "ok";

mysql_close($link);

?>