PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 13-03-2019 11:48:47

cyci60
Membre
Inscription : 13-03-2019
Messages : 1

LA COMMANDE INNER JOIN

Bonjour, j'ai une table villes et une autre pays. La jointure ne ce fait pas. Besoin d'aide. Merci d'avance.

villes.php

<?php

$mysqli = new mysqli('localhost', 'root', '', 'exercice_projet_villes');
$mysqli->set_charset("utf8");

?>

<?php

$result = $mysqli->query('SELECT ville_id, ville_nom FROM villes');

while ($row = $result->fetch_array()) {

    $villes[$row['ville_id']] = $row['ville_nom'];

}

$result = $mysqli->query('SELECT pays.pays_id, pays_nom FROM pays INNER JOIN villes
                          WHERE pays.pays_id = villes.pays_id GROUP BY pays_nom ORDER BY pays_nom');

while ($row = $result->fetch_array()) {

   $pays_liste[$row['pays_id']] = $row['pays_nom'];


echo '<pre>';
print_r($pays_liste);
echo '</pre>';

}

?>

<ul>

<?php

     if (!empty($villes)) {

        foreach ($villes as $id => $ville) : ?>

        <li><a href="ville.php?id=<?php echo $id; ?>"><?php echo $ville; ?></a></li>

        <?php endforeach ?>

     <?php } ?>

</ul>

<ul>
   <?php

   if (!empty($pays_liste)) {

      foreach ($pays_liste as $id => $pays) : ?>

      <li><a href="pays.php?id=<?php echo $id; ?>"><?php echo $pays; ?></a></li>

      <?php endforeach ?>

   <?php } ?>
   
</ul>

<?php

$result->free();
$mysqli->close();

?>

pays.php

<?php require('includes/inc-connexion.php'); ?>

<?php

$pays_id = $_GET['id'];

$result = $mysqli->query('SELECT pays_nom, ville_nom, ville_id FROM pays INNER JOIN villes
                          WHERE villes.pays_id = pays.pays_id AND pays.pays_id = ' . $pays_id);

while ($row = $result->fetch_array()) {

    $pays_nom = $row['pays_nom'];
   
    $villes[$row['ville_id']] = $row['ville_nom'];
}

?>

<?php

$result->free();
$mysqli->close();

?>

Hors ligne

Pied de page des forums