Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2011, 15h12   #1
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
Par défaut resultat requête TRI

Salut à tous,
voila mon souci
je range le résultat d'une requête par un "ORDERBY"(alphabétique)
cela donne:
Citation:
ARELGC
ARER
ARETG
ARETN
ARETS
LOT
tout va bien sauf qu'il faudrait que la liste sorte de cette façon:

Citation:
ARELGC
ARER
ARETN
ARETS
ARETG
LOT
Comment puis-je faire?
Merci
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 11h43   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
AU SECOUR, je suis vraiment embétté, personne aurrait une réponse SVP
Merci
la logique c'est quoi ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 11h49   #3
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
Enfait je range mon résultat en faisant un
Code php :
$sql=$sql. " ORDER BY $table.utilisateur;";
et il me range ça par ordre alphabétique
mon souci est qu'il y en a un que je ne voudrais pas au même endroit comme dans l'exemple ARETG
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 11h50   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
Enfait je range mon résultat en faisant un
$sql=$sql. " ORDER BY $table.utilisateur;";
et il me range ça par ordre alphabétique
mon souci est qu'il y en a un que je ne voudrais pas au même endroit comme dans l'exemple ARETG
donc quelle est la logique du tri ???
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 11h54   #5
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
CE SERAIT, si on peut l'exprimer ainsi
par ordre alphabétique sauf pour ce ARETG que je voudrais placer à cet endroit comme dans le premier post
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 13h24   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
CE SERAIT, si on peut l'exprimer ainsi
par ordre alphabétique sauf pour ce ARETG que je voudrais placer à cet endroit comme dans le premier post
donc aucune logique en soit, a part si tu connais d'avance les résultats c'est pas possible
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 13h37   #7
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
je connais le résultat, c'est vraiment celui là, pas plus
ARELGC
ARER
ARETN
ARETS
ARETG
LOT
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 13h53   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
je connais le résultat, c'est vraiment celui là, pas plus
ARELGC
ARER
ARETN
ARETS
ARETG
LOT
récupère les id et fait le tri avec FIND_IN_SET
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h00   #9
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
Citation:
Envoyé par stealth35 Voir le message
récupère les id et fait le tri avec FIND_IN_SET
Tu ne pourrais pas me donner une idée à quoi la requête pourrait ressemblzr
Merci
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h16   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
Tu ne pourrais pas me donner une idée à quoi la requête pourrait ressemblzr
Merci
Code :
SELECT * FROM `truc` WHERE id IN (2, 5, 8) ORDER BY FIND_IN_SET(id, '2, 8, 5');
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h27   #11
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
D'aprés toi, puis-je écrire:


Code :
1
2
 
 $sql=$sql. " ORDER BY FIND_IN_SET ($table.utilisateur, 'ARELGC, ARER, ARETN, ARETS, ARETG, LOT');";
Pas trés informaticien, je le conçoit, mais ça pourrait marcher???
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h31   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
D'aprés toi, puis-je écrire:


Code :
1
2
 
 $sql=$sql. " ORDER BY FIND_IN_SET ($table.utilisateur, 'ARELGC, ARER, ARETN, ARETS, ARETG, LOT');";
Pas trés informaticien, je le conçoit, mais ça pourrait marcher???
oui ca marche mais faut le IN qui va avec
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h35   #13
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
Citation:
Envoyé par stealth35 Voir le message
oui ca marche mais faut le IN qui va avec
Les données du IN sont une liste aléatoire, ou elles ont un classement spécifique?
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h38   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
Les données du IN sont une liste aléatoire, ou elles ont un classement spécifique?
ca doit correspondre au valeur de FIND_IN_SET, peux importe l'ordre
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h40   #15
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
ok, j'essaie, et je te tiens au courant
Merci
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h07   #16
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
Aïe!!!
un bout de la requête:
Code :
AND $table.utilisateur IN (ACR, AMNMP, ARELGC, ARER, ARETG, ARETN, ARETS, LOT)";
fin de la requête, puis
Code :
$sql=$sql. " ORDER BY FIND_IN_SET ($table.utilisateur, 'ACR, AMNMP, ARELGC, ARER, ARETN, ARETS, ARETG, LOT');";
et là
1064: Something is wrong in your syntax près de '(acrbo.utilisateur, 'ACR, AMNMP, ARELGC, ARER, ARETN, ARETS, ARE' à la ligne 1

t'as pu remarquer que je n'était pas un vrai programateur lol!!
encore besoin un peu de ton aide
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h10   #17
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
Aïe!!!
un bout de la requête:
Code :
AND $table.utilisateur IN (ACR, AMNMP, ARELGC, ARER, ARETG, ARETN, ARETS, LOT)";
fin de la requête, puis
Code :
$sql=$sql. " ORDER BY FIND_IN_SET ($table.utilisateur, 'ACR, AMNMP, ARELGC, ARER, ARETN, ARETS, ARETG, LOT');";
et là
1064: Something is wrong in your syntax près de '(acrbo.utilisateur, 'ACR, AMNMP, ARELGC, ARER, ARETN, ARETS, ARE' à la ligne 1

t'as pu remarquer que je n'était pas un vrai programateur lol!!
encore besoin un peu de ton aide
il faut mettre des quotes :
Code :
IN ('ACR', 'AMNMP', 'ARELGC', 'ARER', 'ARETG', 'ARETN', 'ARETS', 'LOT')
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h18   #18
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
Citation:
Envoyé par stealth35 Voir le message
il faut mettre des quotes :
Code :
IN ('ACR', 'AMNMP', 'ARELGC', 'ARER', 'ARETG', 'ARETN', 'ARETS', 'LOT')
j'ai rajoutté Les simples cotes, mais tjrs la même erreur de syntaxe...
faut-il les mettre aussi aprés le
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h20   #19
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par fthem Voir le message
j'ai rajoutté Les simples cotes, mais tjrs la même erreur de syntaxe...
faut-il les mettre aussi aprés le
montre a quoi correspond $sql au final
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h22   #20
Futur Membre du Club
 
Inscription : septembre 2005
Messages : 253
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 253
Points : 19
Points : 19
voici la requete
Code :
1
2
3
$sql="SELECT $table.cle,$table.centre,$table.date,$table.heure,$table.titre,$table.x_num,$table.y_num,$table.msg,$table.utilisateur,$table.avancement,$table.histo_start,$table.site,$table.po,$table.POIDS,$table.poste_source,$table.depart,$table.heure_realisee,$table.periode,$table.type,$table.fichier,$table.fdm,$table.fdmca,$table.maj,$table.i_nip,$table.i_nitst,$table.message_prive,$table_nip.ouvrage,$table_nip.travaux,$table_nitst.objet,$table_nitst.n_bt,$table_nitst.observations FROM $table,$table_nip,$table_nitst WHERE (date like '%$us_date%') AND $table_nip.cle=$table.i_nip AND $table_nitst.cle=$table.i_nitst AND $table.utilisateur IN ('ACR', 'AMNMP', 'ARELGC', 'ARER', 'ARETG', 'ARETN', 'ARETS', 'LOT')";
  $sql=$sql. $criteres;
$sql=$sql. " ORDER BY FIND_IN_SET ($table.utilisateur, 'ACR', 'AMNMP', 'ARELGC', 'ARER', 'ARETN', 'ARETS', 'ARETG', 'LOT');";
fthem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h36.


 
 
 
 
Partenaires

Hébergement Web