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);
?>