J'essaie d'afficher une liste de pays dans les filtres pour filtrer les résultats d'une liste provenant de SQL.
Voir design ici: https://drive.google.com/file/d/1s6awdr ... sp=sharing
J'ai trouvé ce code-ci mais ca ne fonctionne pas:
J'ai remplacé :
- la valeur dans la "POST array []" en mettant le nom de la colonne ou je veux chercher les infos (le nom des pays)
- la valeur du FROM en mettant le nom de la table.
Code : Tout sélectionner
// If post value isset
if(isset($_POST['pays_nom'])) {
$column = $_POST['pays_nom']; // Set Column
$query = "SELECT $column FROM lieux"; // Create Query
$sql = mysqli_query($con, $query); // Run Query
// Loop through results
while ($row = mysqli_fetch_array($sql, MYSQLI_ASSOC)){
echo "<br>". $row[$column] . "<br>";
}
// Close connection
mysqli_close($con);
}Je ne suis pas sur aussi de où je dois mettre cette portion de code: avant ou après (ou sans importance peut etre) l'endroit ou je veux afficher les options du filtres ?
Voici le code entier:
Code : Tout sélectionner
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=visitearth;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT l.comte_nom, l.lieu_nom, l.pays_nom, p.flag_nom, l.lieu_url
FROM lieux l LEFT JOIN pays p ON l.pays_nom = p.pays_nom LIMIT 630');
// If post value isset
if(isset($_POST['pays_nom'])) {
$column = $_POST['pays_nom']; // Set Column
$query = "SELECT $column FROM lieux"; // Create Query
$sql = mysqli_query($con, $query); // Run Query
// Loop through results
while ($row = mysqli_fetch_array($sql, MYSQLI_ASSOC)){
echo "<br>". $row[$column] . "<br>";
}
// Close connection
mysqli_close($con);
}
?>
<div id="filters">
<div class="labeltheme">
<div>Thèmes</div>
<select name="lieux">
<option value="lieux" selected>Lieux à découvrir</option>
</select></div>
<div class="labelpays">
<div>Pays</div>
<select name="pays">
<option value="<?php echo $donnees['l.pays_nom']; ?>"></option>
</select></div>
<div class="labeltype">
<div>Types</div>
<select name="tri">
<option value="montagne" selected>Montagnes</option>
</select></div>
</div>
<br>
<br />