Tri alphanumerique
Résolu/Fermé
ziad251
Messages postés
34
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
23 mai 2008
-
14 mai 2008 à 11:12
Viny33 - 9 janv. 2015 à 09:39
Viny33 - 9 janv. 2015 à 09:39
A voir également:
- Tri alphanumerique
- Tri excel - Guide
- Code alphanumérique - Guide
- Logiciel de tri de photos - Guide
- Faire un code alphanumérique ✓ - Forum Windows
- En cours de traitement sur le site de tri local ✓ - Forum Consommation & Internet
10 réponses
ziad251
Messages postés
34
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
23 mai 2008
3
14 mai 2008 à 11:28
14 mai 2008 à 11:28
??????????? jai rien pigé la
ziad251
Messages postés
34
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
23 mai 2008
3
14 mai 2008 à 11:24
14 mai 2008 à 11:24
ce n est pas une date c est un code , les requete sont sous php mysql
alexdelareunion
Messages postés
545
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
9 octobre 2023
142
14 mai 2008 à 16:45
14 mai 2008 à 16:45
Pas de soucis,
Quand tu envoie une réponse finale, n'oublie pas de cocher la case 'problème résolu' en bas de la zone de message !
a+
Quand tu envoie une réponse finale, n'oublie pas de cocher la case 'problème résolu' en bas de la zone de message !
a+
salut tout le monde, j'ai un petit soucie concernant php/mysql
j'ai une liste qui contient des langues (arabe, francais, allemand, italien, ...) dont je poeux séléctionner plusieur langues en meme temps, et puis avec un bouton "Valider" , les langues que j'ai choisi doivent etre insérés dans un champ MySQL, j'éspère que c'est claire jusqu'à là !!
alors ma question c'est comment pourrai je insérer plusieur valeurs (Langues) en meme temps dans un seul champ MySQL ?
et quel est le type de champs que je dois utilisé (SET, BLOB, VARCHAR, ....)
merci infiniment
j'ai une liste qui contient des langues (arabe, francais, allemand, italien, ...) dont je poeux séléctionner plusieur langues en meme temps, et puis avec un bouton "Valider" , les langues que j'ai choisi doivent etre insérés dans un champ MySQL, j'éspère que c'est claire jusqu'à là !!
alors ma question c'est comment pourrai je insérer plusieur valeurs (Langues) en meme temps dans un seul champ MySQL ?
et quel est le type de champs que je dois utilisé (SET, BLOB, VARCHAR, ....)
merci infiniment
ziad251
Messages postés
34
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
23 mai 2008
3
14 mai 2008 à 11:15
14 mai 2008 à 11:15
ca reste tjs un prob si j atteint 100/2008 , alors il me faut un tri alphanumerique ,
merci de ta reponse
merci de ta reponse
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
alexdelareunion
Messages postés
545
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
9 octobre 2023
142
14 mai 2008 à 16:34
14 mai 2008 à 16:34
Plusieurs cas de figure :
1 - Tu as besoin de cette liste, classée, dans ta requête, pour pouvoir enchaîner une deuxiême requête : dans ce cas à mon avis tu es baisé, car ta chaine est alphanumérique (vu qu'elle contient des '/') et qu'un classement alpha te donnera toujours 1, 11, 2, 22, 3 etc... c'est le principe même.
|_ Si tu veux absolument implémenter ces 'codes' en alphanumériques mais les classer en numérique deux solutions :
|_ 1 - Dès la conception, tu prévois ce problème quand tu decide de la signature de tes 'codes' pour ne pas être emmerdé lors du classement.
|_ 2 - La solution la plus Intelligente et 3NF a mon avis, si tes codes ne sont pas alphanumériques, alors ils sont multivalués, tu te dois donc de les 'éclater' quand tu les intègre dans ton modèle de table : exemple un code qui est '100/2008' peut se découper de cette façon 'référence=100', 'année de fabrication=2008'. Donc au lieu de stocker le code 100/2008 en 'dur' dans ta table dans une seule colonne 'code' , tu crée deux colonnes (par exemple) 'code_ref' et 'code_annee'. De cette façon tu peux beaucoup mieux typer les données, 'ref' est un 'INT' et 'annee' est un 'DATE'. Ensuite il t'appartiendra de récupérer chaque 'morceau' de 'code' avec des requêtes, et de concaténer les collones à l'affichage pour obtenir un '100/2008' au lieu de 'ref=100' 'annee=2008'
2 - Cette liste de 'codes' est un résultat final à afficher ou a utiliser : dans ce cas tu récupère cette liste mal classée sous forme de tableau, et tu écris toi même une fonction en php pour pouvoir reclasser ces données selon tes goûts, et ensuite seulement tu aura une liste bien classée. C'est ce qu'on fait le plus souvent quand on est pressé et qu'on ne peut pas bien normaliser la base pour diverses raisons.
1 - Tu as besoin de cette liste, classée, dans ta requête, pour pouvoir enchaîner une deuxiême requête : dans ce cas à mon avis tu es baisé, car ta chaine est alphanumérique (vu qu'elle contient des '/') et qu'un classement alpha te donnera toujours 1, 11, 2, 22, 3 etc... c'est le principe même.
|_ Si tu veux absolument implémenter ces 'codes' en alphanumériques mais les classer en numérique deux solutions :
|_ 1 - Dès la conception, tu prévois ce problème quand tu decide de la signature de tes 'codes' pour ne pas être emmerdé lors du classement.
|_ 2 - La solution la plus Intelligente et 3NF a mon avis, si tes codes ne sont pas alphanumériques, alors ils sont multivalués, tu te dois donc de les 'éclater' quand tu les intègre dans ton modèle de table : exemple un code qui est '100/2008' peut se découper de cette façon 'référence=100', 'année de fabrication=2008'. Donc au lieu de stocker le code 100/2008 en 'dur' dans ta table dans une seule colonne 'code' , tu crée deux colonnes (par exemple) 'code_ref' et 'code_annee'. De cette façon tu peux beaucoup mieux typer les données, 'ref' est un 'INT' et 'annee' est un 'DATE'. Ensuite il t'appartiendra de récupérer chaque 'morceau' de 'code' avec des requêtes, et de concaténer les collones à l'affichage pour obtenir un '100/2008' au lieu de 'ref=100' 'annee=2008'
2 - Cette liste de 'codes' est un résultat final à afficher ou a utiliser : dans ce cas tu récupère cette liste mal classée sous forme de tableau, et tu écris toi même une fonction en php pour pouvoir reclasser ces données selon tes goûts, et ensuite seulement tu aura une liste bien classée. C'est ce qu'on fait le plus souvent quand on est pressé et qu'on ne peut pas bien normaliser la base pour diverses raisons.
Tu peux compléter par des zéro à gauche et ensuite ne prendre que la partie de droite.
Exemple
champs CODE contenant '10', '11', '100', '101', etc.
Si tu tries en direct, tu auras
'10'
'100'
'101'
'11'
En faisant right('000000'+CODE,6) donnera
'000010', '000011', '000100', et '000101'
... donc en triant "ORDER BY 1 (l'ordre de SELECT), tu auras
'000010'
'000011'
'000100'
'000101'
SELECT right('000000'+CODE,6), CODE, etc.
FROM ...
ORDER BY 1
Voiloù
J'espère que depuis le temps tu as trouvé la réponse mais c'est pour le cas où quelqu'un chercherait aujourd'hui :-)
Exemple
champs CODE contenant '10', '11', '100', '101', etc.
Si tu tries en direct, tu auras
'10'
'100'
'101'
'11'
En faisant right('000000'+CODE,6) donnera
'000010', '000011', '000100', et '000101'
... donc en triant "ORDER BY 1 (l'ordre de SELECT), tu auras
'000010'
'000011'
'000100'
'000101'
SELECT right('000000'+CODE,6), CODE, etc.
FROM ...
ORDER BY 1
Voiloù
J'espère que depuis le temps tu as trouvé la réponse mais c'est pour le cas où quelqu'un chercherait aujourd'hui :-)
inuman
Messages postés
19
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
16 mai 2008
14 mai 2008 à 11:13
14 mai 2008 à 11:13
Salut,
et en mettant 01/2008 02/2008 ?
et en mettant 01/2008 02/2008 ?
Je n'ai pas la réponse, mais si tu as la main sur la base, tu devrais corriger le problème qui est conceptuel, le champ que tu cherche a ordonner n'est manifestement pas de type date, et pourtant il devrait l'être.
D'après ma connaissance en sql, il faudrait te coder une moulinette, pour classer tout ça après l'avoir récupéré.
Quel est le type de serveur sql utilisé ? et dans quel language sont intégrées tes requêtes (php? java? ...?)
D'après ma connaissance en sql, il faudrait te coder une moulinette, pour classer tout ça après l'avoir récupéré.
Quel est le type de serveur sql utilisé ? et dans quel language sont intégrées tes requêtes (php? java? ...?)
ziad251
Messages postés
34
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
23 mai 2008
3
14 mai 2008 à 16:41
14 mai 2008 à 16:41
gracias senior , muchas gracias