<?php
if (
!isset($_GET['ville_depart']) or empty($_GET['ville_depart']) or
!isset($_GET['ville_arrivee']) or empty($_GET['ville_arrivee']) or
!isset($_GET['date']) or empty($_GET['date']) or
!isset($_GET['type']) or empty($_GET['type']) or
!isset($_GET['rayon_depart']) or empty($_GET['rayon_depart']) or
!isset($_GET['rayon_arrivee']) or empty($_GET['rayon_arrivee']) or
!isset($_GET['tri']) or empty($_GET['tri']) /*or
!isset($_GET['index_debut']) or empty($_GET['index_debut']) or
!isset($_GET['index_fin']) or empty($_GET['index_fin'])*/
) {
die();
}
//
require_once('../Connections/bddcovoiturette.php');
mysql_select_db($database_bddcovoiturette, $bddcovoiturette);
$vdep = mysql_real_escape_string(stripslashes($_GET['ville_depart']));
$varr = mysql_real_escape_string(stripslashes($_GET['ville_arrivee']));
$date = mysql_real_escape_string(stripslashes($_GET['date']));
$type = mysql_real_escape_string(stripslashes($_GET['type']));
$rdep = mysql_real_escape_string(stripslashes($_GET['rayon_depart']));
$rarr = mysql_real_escape_string(stripslashes($_GET['rayon_arrivee']));
$tri = mysql_real_escape_string(stripslashes($_GET['tri']));
//$ideb = mysql_real_escape_string(stripslashes($_GET['index_debut']));
//$ifin = mysql_real_escape_string(stripslashes($_GET['index_fin']));
/* *** */
// latlong villes
$query = "SELECT longitude, latitude FROM `villes_ws` WHERE commune = '" . $vdep . "'";
$RSville = mysql_query($query, $bddcovoiturette) or die(mysql_error());
$row_RSville = mysql_fetch_assoc($RSville);
$vdep_long = $row_RSville['longitude'];
$vdep_lat = $row_RSville['latitude'];
mysql_free_result($RSville);
//
$query = "SELECT longitude, latitude FROM `villes_ws` WHERE commune = '" . $varr . "'";
$RSville = mysql_query($query, $bddcovoiturette) or die(mysql_error());
$row_RSville = mysql_fetch_assoc($RSville);
$varr_long = $row_RSville['longitude'];
$varr_lat = $row_RSville['latitude'];
mysql_free_result($RSville);
// /latlong villes
// rayon
// /rayon
// depart
$formuledep1 = "(6366*acos(cos(radians($vdep_lat))*cos(radians(`DEPART_LAT`))*cos(radians(`DEPART_LON`) -radians($vdep_long))+sin(radians($vdep_lat))*sin(radians(`DEPART_LAT`)))) AS DEP1";
$formuledep2 = "(6366*acos(cos(radians($vdep_lat))*cos(radians(`ETAPE1_LAT`))*cos(radians(`ETAPE1_LON`) -radians($vdep_long))+sin(radians($vdep_lat))*sin(radians(`ETAPE1_LAT`)))) AS DEP2";
$formuledep3 = "(6366*acos(cos(radians($vdep_lat))*cos(radians(`ETAPE2_LAT`))*cos(radians(`ETAPE2_LON`) -radians($vdep_long))+sin(radians($vdep_lat))*sin(radians(`ETAPE2_LAT`)))) AS DEP3";
$formuledep4 = "(6366*acos(cos(radians($vdep_lat))*cos(radians(`ETAPE3_LAT`))*cos(radians(`ETAPE3_LON`) -radians($vdep_long))+sin(radians($vdep_lat))*sin(radians(`ETAPE3_LAT`)))) AS DEP4";
$formuledepsql = $formuledep1 . ',' . $formuledep2 . ',' . $formuledep3 . ',' . $formuledep4;
$requetedep = "(DEP1<='" . $rdep . "' OR DEP2<='" . $rdep . "' OR DEP3<='" . $rdep . "' OR DEP4<='" . $rdep."')";
// /depart
// arrivée
$formulearr1 = "(6366*acos(cos(radians($varr_lat))*cos(radians(`ARRIVEE_LAT`))*cos(radians(`ARRIVEE_LON`) -radians($varr_long))+sin(radians($varr_lat))*sin(radians(`ARRIVEE_LAT`)))) AS ARR1";
$formulearr2 = "(6366*acos(cos(radians($varr_lat))*cos(radians(`ETAPE1_LAT`))*cos(radians(`ETAPE1_LON`) -radians($varr_long))+sin(radians($varr_lat))*sin(radians(`ETAPE1_LAT`)))) AS ARR2";
$formulearr3 ="(6366*acos(cos(radians($varr_lat))*cos(radians(`ETAPE2_LAT`))*cos(radians(`ETAPE2_LON`) -radians($varr_long))+sin(radians($varr_lat))*sin(radians(`ETAPE2_LAT`)))) AS ARR3";
$formulearr4 = "(6366*acos(cos(radians($varr_lat))*cos(radians(`ETAPE3_LAT`))*cos(radians(`ETAPE3_LON`) -radians($varr_long))+sin(radians($varr_lat))*sin(radians(`ETAPE3_LAT`)))) AS ARR4";
$formulearrsql = ',' . $formulearr1 . ',' . $formulearr2 . ',' . $formulearr3 . ',' . $formulearr4;
$requetearr="AND (ARR1<='" . $rarr . "' OR ARR2<='" . $rarr . "' OR ARR3<='" . $rarr . "' OR ARR4<='" . $rarr ."')";
// /arrivée
/* *** */
// date
$date = substr($date, 0, 4) . "-" . substr($date, 4, 2) . "-" . substr($date, 6, 2);
$date = " AND DATE_PARCOURS = '" . $date . "' ";
// /date
// type
if ($type == 'c') {
$type = "AND TYPE = 'Conducteur'";
} elseif ($type == 'p') {
$type = "AND TYPE = 'Passager'";
} else {
$type = '';
}
// /type
// tri
if ($tri == 'pc') {
$tri = 'PRIX ASC';
} elseif ($tri == 'pd') {
$tri = 'PRIX DESC';
} elseif ($tri == 'nbpc') {
$tri = 'PLACES ASC';
} elseif ($tri == 'nbpd') {
$tri = 'PLACES DESC';
} else {
$tri = 'DATE_PARCOURS ASC, HEURE ASC';
}
// /tri
// req finale
$query_RSparcours = "
SELECT
*,
IF(((DEPARTMIN=DEP4)AND(ARRIVEEMIN!=ARR1)),1,0) AS VERIF1,
IF(((DEPARTMIN=DEP3)AND((ARRIVEEMIN!=ARR1) OR (ARRIVEEMIN!=ARR4))),1,0) AS VERIF2,
IF(((DEPARTMIN=DEP2)AND(ARRIVEEMIN=ARR2)),1,0) AS VERIF3
FROM
(
SELECT
*,
LEAST(DEP1, IFNULL(DEP2,5000),
IFNULL(DEP3, 5000),
IFNULL(DEP4, 5000)) AS DEPARTMIN,
LEAST(ARR1, IFNULL(ARR2,5000), IFNULL(ARR3,5000),
IFNULL(ARR4, 5000)) AS ARRIVEEMIN
FROM
(
SELECT
*,
" . $formuledepsql
. $formulearrsql .
"
FROM
trajets_ws
WHERE
STATUT = 'Valide' "
. $date
. $type
. "
HAVING "
. $requetedep
. " "
. $requetearr
. "
ORDER BY " . $tri . "
) AS t1
) AS t2
HAVING
VERIF1 = 0 AND VERIF2 = 0 AND VERIF3 = 0
LIMIT 10";
// /req finale
//echo $query_RSparcours;
$RSParc = mysql_query($query_RSparcours, $bddcovoiturette) or die(mysql_error());
$totalParc = mysql_num_rows($RSParc);
$xmlstr = '<?xml version="1.0" encoding="UTF-8"?>';
if ($totalParc > 0) {
$xmlstr .= '<annonces>';
while ($row_RSParc = mysql_fetch_assoc($RSParc)) {
$comm = $row_RSParc['COMMENTAIRES'];
if (!empty($comm)) {
$Remplace = array("<", ">", "&");
$comm = str_replace($Remplace, '', $comm);
}
$xmlstr .= '<annonce>';
$xmlstr .= '<type>' . $row_RSParc['TYPE'] . '</type>';
$xmlstr .= '<genre>' . $row_RSParc['CIVILITE'] . '</genre>';
$xmlstr .= '<nom>' . $row_RSParc['NOM'] . '</nom>';
$xmlstr .= '<ville_depart>' . $row_RSParc['DEPART'] . '</ville_depart>';
$xmlstr .= '<ville_arrivee>' . $row_RSParc['ARRIVEE'] . '</ville_arrivee>';
$xmlstr .= '<date>' . $row_RSParc['DATE_PARCOURS'] . ' ' . $row_RSParc['HEURE'] .'</date>';
$xmlstr .= '<places>' . $row_RSParc['PLACES'] . '</places>';
$xmlstr .= '<prix>' . $row_RSParc['PRIX'] . '</prix>';
$xmlstr .= '<confort_vehicule>' . $row_RSParc['CONFORT'] . '</confort_vehicule>';
$xmlstr .= '<tel>' . $row_RSParc['TELEPHONE'] . '</tel>';
$xmlstr .= '<email>' . $row_RSParc['EMAIL'] . '</email>';
$xmlstr .= '<commentaire>' . $comm . '</commentaire>';
$xmlstr .= '</annonce>';
}
mysql_free_result($RSParc);
$xmlstr .= '</annonces>';
} else {
$xmlstr .= '<annonces/>';
}
header("Content-Type: text/xml");
echo $xmlstr;
?>
|