Bon je deviens dingue en fait j'ai fait mes requetes tout marche nickel.
Maintenant j'aimerais que ma 2 requete complete la principal si une distance est selectionné
En gros: si distance est renseignée alors j'applique ma requete proxi_ville à ma requete sql
// Traitement de la pagination
$page = (!empty($_GET['page']) ? (int)$_GET['page'] : 1);
$limite = 10; // Nombre d'élément à afficha dans la page
$debut = ($page - 1) * $limite;
// Requetes bars selon option
$sql = 'SELECT SQL_CALC_FOUND_ROWS * FROM bars WHERE ville = :ville';
$sql .= ' LIMIT :limite OFFSET :debut'; // limite à 5
$sql = $bdd->prepare($sql);
$sql->bindParam(':ville', $ville, PDO::PARAM_STR);
$sql->bindValue('debut', $debut, PDO::PARAM_INT);
$sql->bindValue('limite', $limite, PDO::PARAM_INT);
$sql->execute();
// Récupération des données selon la ville de renseignée
$pos_ville = $bdd->prepare("SELECT lattitude, longitude FROM villes_de_france WHERE Nom_commune = '$ville'");
$pos_ville->execute();
$row = $pos_ville->fetch(PDO::FETCH_ASSOC);
$latitude=$row['lattitude'];
$longitude=$row['longitude'];
// Si on applique une distance de filtre
if (!empty($_POST['distance'])) {
$rayon = $_POST['distance'];
}else{
$rayon = NULL;
}
//echo $rayon;
// Formule + select des villes selon la distance
$formule="(6366*acos(cos(radians($latitude))*cos(radians(`lattitude`))*cos(radians(`longitude`) -radians($longitude))+sin(radians($latitude))*sin(radians(`lattitude`))))";
$proxi_ville="SELECT DISTINCT Nom_commune,$formule AS dist FROM villes_de_france WHERE $formule<='$rayon' ORDER by dist ASC";
$proxi_ville = $bdd->prepare($proxi_ville);
$proxi_ville->execute();
if($proxi_ville->rowCount() > 1) {
while($result = $proxi_ville->fetch(PDO::FETCH_ASSOC)){
echo $result['Nom_commune'].'<br>'; // toutes les villes selon la distance choisie
}
}
// Calcul de la pagination
$resultFoundRows = $bdd->query('SELECT found_rows()');
$nombredElementsTotal = $resultFoundRows->fetchColumn();
$nombreDePages = ceil($nombredElementsTotal / $limite);
//var_dump($sql);