Se connecter avec
S'enregistrer | Connectez-vous

Tri requete php

Dernière réponse : dans Programmation
Expert Programmation

Bonjour,

J'ai un petit problème pour trier le résultat d'une requête sql
Le code:

  1. $order = htmlspecialchars($_POST['order']);
  2. require ('config.php');
  3. mysql_connect("$host", "$bdd", "$pass");
  4. mysql_select_db("$bdd");
  5.  
  6. $req = mysql_query ("SELECT * FROM jeux ORDER BY '".$order."'");
  7. while ($rep = mysql_fetch_array($req)) {


Le problème c'est que ca ne fonctionne pas... j'ai vérifier le $_POST['order'] il est correct!

Merci de votre aide!

Autres pages sur : tri requete php

Lassé par la pub ? Créez un compte

Salut,
1-
la directive order By est associé à un nom de colonne dans la base de données hors toi tu met une constante en le mettant entre cote simple.
2-
Pour que ça fonctionne il faut rajouter le sens
DESC pour descendant
ASC pour ascendant

donc ça donnerait
$req = mysql_query ("SELECT * FROM jeux ORDER BY $order ASC" );
OU

$req = mysql_query ("SELECT * FROM jeux ORDER BY $order DESC" );

Tu devrais avoir un meilleur résultat.

a+
Expert Programmation

Bonjour cmagique,

Je pense que l'ordre croissant ou décroissant n'a pas grande importance, je pensais rejouter un post pour classer selon cette manière après avoir résolu ce problème, j'ai tout de même tester et voici ce que ca donne:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC' at line 1

Merci quand meme!

EDIT: résolu!
La bonne syntaxe était:
  1. $req = mysql_query ("SELECT * FROM jeux ORDER BY ".$order) or die (mysql_error());
Lassé par la pub ? Créez un compte
Tom's guide dans le monde