une histoire de tri !!

Bonjour,

J'utilise actuellement sur mon site SPIP un champs (#SURTITRE) de la base de données pour afficher le prix promo de mes articles.

J'ai adapté une petite contrib de tri de mes articles mais lorsque je tri par prix (champs #SURTITRE), j'ai dans l'ordre croissant d'abord les prix à 4 chiffres puis ensuite dans l'ordre croissant aussi les prix à 3 chiffres etc...
ex : j’ai 1050 €, 1100€, 1300€, 2000€ puis à la suite 320€ 500€ 900€ !!!!

Quelqu'un aurait une petite idée pour contourner ce problème ??

PS: si quelqu'un est interessé, voici l'adresse de la superbe contrib :
http://www.spip-contrib.net/Trier-des-articles-selon

postmaster a écrit :

Bonjour,

J'utilise actuellement sur mon site SPIP un champs (#SURTITRE) de la base de données pour afficher le prix promo de mes articles.

J'ai adapté une petite contrib de tri de mes articles mais lorsque je tri par prix (champs #SURTITRE), j'ai dans l'ordre croissant d'abord les prix à 4 chiffres puis ensuite dans l'ordre croissant aussi les prix à 3 chiffres etc...
ex : j’ai 1050 €, 1100€, 1300€, 2000€ puis à la suite 320€ 500€ 900€ !!!!

Quelqu'un aurait une petite idée pour contourner ce problème ??

PS: si quelqu'un est interessé, voici l'adresse de la superbe contrib :
http://www.spip-contrib.net/Trier-des-articles-selon

Sana apporter de solution, je pense que ton test ne s'applique pas aux valeurs numériques, mais aux valeurs alphanumériques.

Cordialement.

Pierre

spip-bounces@rezo.net wrote:

Bonjour,

J'utilise actuellement sur mon site SPIP un champs
(#SURTITRE) de la base de données pour afficher le prix promo de mes
articles.

J'ai adapté une petite contrib de tri de mes articles mais
lorsque je tri par prix (champs #SURTITRE), j'ai dans l'ordre
croissant d'abord les prix à 4 chiffres puis ensuite dans
l'ordre croissant aussi les prix à 3 chiffres etc...
ex : j’ai 1050 €, 1100€, 1300€, 2000€ puis à la suite 320€ 500€ 900€
!!!!

Quelqu'un aurait une petite idée pour contourner ce problème ??

PS: si quelqu'un est interessé, voici l'adresse de la superbe contrib
: http://www.spip-contrib.net/Trier-des-articles-selon

Oui, c'est normal, le tri en informatique de chaînes de caractères s'effectue en regardant d'abord le premier chiffre, puis le second, etc.

Et donc 11225€ < 2€ < 325€ < 4€.

Tu peux essayer de ne pas mettre le symbole Euro dans le champ (et le rajouter dans le squelette), sinon tu peux utiliser le critère {par num surtitre}, et tu normalise tes surtitres avec un numéro à 6 chiffres (par exemple) :
1050€ devient : 001050. 1050€...

Olivier GENDRIN a écrit :

spip-bounces@rezo.net wrote:

Bonjour,

J'utilise actuellement sur mon site SPIP un champs
(#SURTITRE) de la base de données pour afficher le prix promo de mes
articles.

J'ai adapté une petite contrib de tri de mes articles mais
lorsque je tri par prix (champs #SURTITRE), j'ai dans l'ordre
croissant d'abord les prix à 4 chiffres puis ensuite dans
l'ordre croissant aussi les prix à 3 chiffres etc...
ex : j’ai 1050 €, 1100€, 1300€, 2000€ puis à la suite 320€ 500€ 900€
!!!!

Quelqu'un aurait une petite idée pour contourner ce problème ??

PS: si quelqu'un est interessé, voici l'adresse de la superbe contrib
: http://www.spip-contrib.net/Trier-des-articles-selon

Oui, c'est normal, le tri en informatique de chaînes de caractères s'effectue en regardant d'abord le premier chiffre, puis le second, etc.

Et donc 11225€ < 2€ < 325€ < 4€.

Tu peux essayer de ne pas mettre le symbole Euro dans le champ (et le rajouter dans le squelette), sinon tu peux utiliser le critère {par num surtitre}, et tu normalise tes surtitres avec un numéro à 6 chiffres (par exemple) :
1050€ devient : 001050. 1050€...

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Re,

Merci pour ces réponses...
La première solution de supprimer le symbole € ne change rien (il considère toujours le champs non pas comme des chiffres mais bien comme des caractères donc toujours le meme problème de tri.

Par contre la deuxième solution marche !
Il va juste falloir que je modifie toute la base de données !!

Encore merci pour cette aide rapide.