bonjour ,
voici mon probleme j'ai le tri suivant qui s'affiche :
xpw2 2.8
xpw2 2.11
xpw2 2.10
alor que je voudrais
xpw2 2.11
xpw2 2.10
xpw2 2.8
Code:ORDER BY UCName DESC ,UCNameme DESC ,_9 DESC,Prio ASC,txtRID DESC
Version imprimable
bonjour ,
voici mon probleme j'ai le tri suivant qui s'affiche :
xpw2 2.8
xpw2 2.11
xpw2 2.10
alor que je voudrais
xpw2 2.11
xpw2 2.10
xpw2 2.8
Code:ORDER BY UCName DESC ,UCNameme DESC ,_9 DESC,Prio ASC,txtRID DESC
ASC => DESC
je suis assez surpris.
bonjour,
un peu plus compliqué que ca
voici mon probleme j'ai le tri suivant qui s'affiche :
xpw2 2.8
xpw2 2.12
xpw2 2.11
xpw2 2.10
alor que je voudrais
xpw2 2.12
xpw2 2.11
xpw2 2.10
xpw2 2.8
on veut absolument le 12 audessu et le souci c'est que le 2.8 il le prend comme 2.80 alor que pour nous 2.8 est endessus de 2.10 et pas audessu
Ce tri provint surement du typage de tes données , quel est il ?
Je suppose que "xpw2 2.12" est le contenu de ta colonne, auquel cas elle est effectivement triée par ordre alphabétique.
Si tu as toujours le même format "nom espace numéro point numéro", tu peux tenter un truc moche comme
Code:
1
2
3
4 ORDER BY SUBSTRING_INDEX(UCName," ",1) ASC, Cast(SUBSTRING_INDEX(SUBSTRING_INDEX(UCName," ", -1),".",1) as INT) ASC, CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(UCName," ", -1),".",-1) as INT )ASC
bonjour ,
mon souci c'est que parfois je peut tomber sur juste des letre
ou alor xpw2.8 ou a.2.8 ou xpw2.0.0 :?
pourquoi ne pas enregistré les lettres dans un champs et les chiffres dans un autre si ils sont présents ?
Le problème est que 2.0.0 n'est pas un chiffre.
Si tes données en sont pas uniformes, tu ne peux évidemment pas obtenir un tri.
Si tu as quand même un schéma approchant (par exemple "un groupe de lettres, un séparateur puis des chiffres avec un séparateur"), tu peux procéder à un découpage de cette structure en PHP puis faire le tri en PHP ; ce sera plus simple à écrire qu'en SQL.
Ah oui exact j'étais partie du principe qu'il s'agissais de virgules
:koi:
Ca change rien... Avec des points ou des virgules, c'est toujours pas un chiffre !
tu charges tout dans le tableau php et tu fais un tri sur un ordre naturel.
salut,
Le probleme comme j'ai indiquer je ne fait pas que 1 tri sur ce champs je fait aussi des tris sur les autres champs apres
Tu peux tout trier en PHP.
salut,
en fesant tout l'algo moi meme alor ?
Le découpage du nom, oui il faudra le faire "maison".
Rends-toi bien compte par contre que si tu codes un découpage pour "2.0.0" et qu'un jour on te colle un "2.0.0.0", ça n'ira pas.
Faire quelque chose de générique est possible mais cela complique evidemment.
Après pour le tri, tu as la fonction array_multisort.
d'accord merci tout le monde je vais faire ca maison alor :) doit bien avoir quelque chose qui permet de recuprer si c'est un chifre de recuprer tout les chiffre jusque quand il tombe sur une letre je vais chercher ca :)