Trier une requete sur 2 champs lies

gepeto67
Invité n'ayant pas de compte PHPfrance

05 mars 2006, 02:20

Bonjour,

Voilà j'ai une table qui contient ce genre de champ :

Champ 1 : code
Champ 2 : designation
Champ 3 : nom

Les champ desigantion et nom sont parfois remplis tout les 2 mais d'autres fois seulement l'un d'eux

je voudrais faire une requete qui liste les résultats pas seulement d'abord sur puis sur l'autre (Order By nom, designation) mais sur "designation + nom".

Exemple j'ai cela

designation nom
A23 Truc
(vide) AStruc
B35d (vide)

Et le résultat donnerais

A23 Truc
AStruc
B35d


J'espere que c'est assez clair ?

Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 mars 2006, 02:37

Salut,
je voudrais faire une requete qui liste les résultats pas seulement d'abord sur puis sur l'autre (Order By nom, designation) mais sur "designation + nom".
absolument.......... pas clair :shock:
manquerai pas des mots ?

d'après l'exemple que tu donnes suffit de tout séléctionner et d'afficher les champs. S'ils sont vide alors il n'y a pas d'affichage, schéma:
$sql = 'select designation, nom from table ';
   
if ($res = mysql_query($sql)) 
{
   while ($row = mysql_fetch_array($res))
   {
      echo $row['designation'].' '.$row['nom'].' <br />';
   }
}

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

05 mars 2006, 11:08

Je crois que je n'ai pas été assez clair ...... en fait

Mon probleme c'est pas l'affichage des résultats mais le tri

en effet

si je fait

Code : Tout sélectionner

Order by designation, nom
il va classer d'abord sur designation puis sur nom,

Mon PB c'est que je voudrais que les enregistrements ou le champ designation est vide qu'il soit bien inserez dans lordre alphabetique

gepeto67
Invité n'ayant pas de compte PHPfrance

05 mars 2006, 13:31

En fait je voudrais "additionner" les 2champs dans la commande SELECT afin de faire le tri se fasse sur cette "nouvelle variable"

En faite je ne veut pas cela
$sql = 'select designation, nom from table order by designation, nom'; 
Mais un truc du genre
$sql = 'select designation, nom from table FAIRE "designation+nom "order by designation+nom
????????Possible

gepeto67
Invité n'ayant pas de compte PHPfrance

08 mars 2006, 16:44

On n'ai jamais mieux servi que par soi-mëme

J'ai trouvé :
... ORDER BY CONCAT(nom, designation) 
A +