| 
<?phpif (
 !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;
 ?>
 |