Requete sql "order by" ne fonctionne pas.

Résolu
vermich89 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
Mehrez.labidi Messages postés 94 Statut Membre -
Bonjour à tous,

depuis un fichier php je construit une requête sql morceau par morceau.
Tout fonctionne mais je cherche à obtenir la liste trier par ordre alphabétique et quand j'ajoute le order by plus rien ne fonctionne. Y a t il un emplacement obligatoire ?

Normalement si je ne me suis pas trompé ma requête est ainsi :

SELECT CP CodePostal, VILLE Ville FROM cp_autocomplete WHERE CP LIKE 60150 AND CODEPAYS = 'FR' LIMIT 0, 150 ORDER BY ville ASC

voici mon code au complet:

//Construction de la requete
$strQuery = "SELECT CP CodePostal, VILLE Ville FROM cp_autocomplete WHERE ";
if (isset($_POST["codePostal"]))
{
    $strQuery .= "CP LIKE :codePostal ";
}
else
{
    $strQuery .= "VILLE LIKE :ville ";
}
$strQuery .= "AND CODEPAYS = 'FR' ";
//Limite
if (isset($_POST["maxRows"]))
{
    $strQuery .= "LIMIT 0, :maxRows";
}
$strQuery .= " ORDER BY ville ASC ";
$query = $db->prepare($strQuery);
if (isset($_POST["codePostal"]))
{
    $value = $_POST["codePostal"]."%";
    $query->bindParam(":codePostal", $value, PDO::PARAM_STR);
}
else
{
    $value = $_POST["ville"]."%";
    $query->bindParam(":ville", $value, PDO::PARAM_STR);
}
//Limite
if (isset($_POST["maxRows"]))
{
    $valueRows = intval($_POST["maxRows"]);
    $query->bindParam(":maxRows", $valueRows, PDO::PARAM_INT);
}

$query->execute();


4 réponses

  1. Mehrez.labidi Messages postés 94 Statut Membre
     
    SELECT "nom de colonne"
    FROM "nom de table"
    [WHERE "condition"]
    ORDER BY "nom de colonne" [ASC, DESC];
    0
  2. vermich89 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   13
     
    Merci pour ta rapidité :)

    oui donc normalement mon ORDER BY est bon !?
    0
  3. vermich89 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   13
     
    Autant pour moi, c'est bon.
    0
  4. Mehrez.labidi Messages postés 94 Statut Membre
     
    je te conseille de lancer le code sous sqlplus ensuite tu tape showerrors pour voir l'erreur c 'est a quel ligne exactement.
    A mon avis la requete sql est bon.
    Verifie d 'abord si tes tables sont deja crées .
    essaie sans le "ASC" parceque c 'est optionnel.
    0