Commande INNER JOIN

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Commande INNER JOIN

Re: Commande INNER JOIN

par @rthur » 16 mars 2019, 00:56

FATAL ERROR syntax error, unexpected 'is'
Selon le message d'erreur que tu nous as indiqué, tu as un "is" quelque part dans ta requête qui provoque cette erreur.


Du coup il faut que tu suives le conseil de Spols :
teste tes requètes dans phpmyadmin pour être sûr de leur fonctionnement.

Re: LA COMMANDE INNER JOIN

par cyci60 » 15 mars 2019, 16:24

is ?

Re: LA COMMANDE INNER JOIN

par Spols » 15 mars 2019, 14:23

ta clause ON ne doit pas contenir de IS, mais une égalité entre une table déjà incluse et ta nouvelle table

test tes requète dans phpmyadmin pour être sur de leur fonctionnement.

Re: LA COMMANDE INNER JOIN

par cyci60 » 15 mars 2019, 13:25

J'ai testé avec ON = FATAL ERROR syntax error, unexpected 'is' (T_STRING) on line number 1

$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>';

Re: LA COMMANDE INNER JOIN

par Spols » 13 mars 2019, 19:12

ta condition de jointure doit être dans ta jointure aprés la clause ON plutot que dans le WHERE

test tes requète dans phpmyadmin pour être sur de leur fonctionnement.

Commande INNER JOIN

par cyci60 » 13 mars 2019, 16:35

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();

?>