Triage de base de données et élement de formulaire select

QD
Eléphanteau du PHP | 48 Messages

21 août 2005, 15:34

Salut,

Je voudrais faire une requête mysql qui me trierait une liste de pays par ordre alphabétique mais il faudrait que le premier élément soit tjs "Suisse" et que ensuite il trie le reste de la liste par ordre alphabétique.

Existe-t'il une solution à celà?

Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 août 2005, 15:59

Pas directement en SQL non.

Tu peux soit faire un choix en plus "Suisse" et le mettre en dur dans ta liste puis la remplir avec la table.

Soit la remplir avec le contenu de la table et pré-positionner la liste sur le choix Suisse

Ou alors rajouter un champ à ta table "position" par exemple :
pour la Suisse il sera à 1, et pour les autres à 2
Et faire un

Code : Tout sélectionner

SELECT code_pays, nom_pays, ordre FROM pays ORDER BY ordre, nom_pays

QD
Eléphanteau du PHP | 48 Messages

21 août 2005, 16:50

Ok je vais le mettre en brut.

Merci

Mammouth du PHP | 19672 Messages

21 août 2005, 17:25

Si c'est pour mettre dans une liste déroulante, tu peux faire ceci lors de la génération des options:
echo("<option value=\"". $row['pays'] ."\"". ($row['pays'] == "Suisse")?" selected=\"selected\"":null .">". $row['pays'] ."</option>");
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: