Page 1 sur 1

Où placer ORDER BY id DESC dans une requête select ?

Posté : 23 déc. 2015, 20:15
par rene06530
Bonjour à tous;
Encore une question qui va vous sembler facile mais, moi, je bute.
Voici une partie de code
$req = $bdd->prepare('SELECT * FROM disponibilite WHERE id_location = :id_location'); 
$req->execute(array('id_location' => $_POST['id_location']));
while ($donnees = $req->fetch())
{
	echo '<p>N°sem=>'. $donnees['id_semaine'] . '  Dates=> ' . $donnees['dates'] . '<br /> ' . $donnees['prix'] . ' euros => ' . $donnees['dispo'] . '</p> ';
}
Ma question est : où placer ORDER BY id_semaine DESC ??? On le vois souvent après WHERE mais là id_semaine ne s'y trouve pas, Alors ???

Merci de vos réponses.

Re: Où placer ORDER BY id DESC dans une requête select ?

Posté : 23 déc. 2015, 20:20
par @rthur
Bonjour,

Il faut le placer à la fin de ta requête.
Il n'y a pas besoin que le champ sur lequel tu veux faire le tri (id_semaine) soit indiqué explicitement dans le SELECT ou le WHERE de ta requête, il faut juste que ça correspondent bien à un champ de ta table.

Re: Où placer ORDER BY id DESC dans une requête select ?

Posté : 23 déc. 2015, 21:58
par rene06530
Bon, j'ai trouvé, je n'avais jamais vu malgré mes recherches;
Voici où le placer :
$req = $bdd->prepare('SELECT * FROM disponibilite WHERE id_location = :id_location ORDER BY id_semaine ASC');
ça peu servir à quelqu'un.
Merci @rthur et bonne fêtes de fin d'année à tous.
Cordialement.