Pb pour trier une table

Signaler
Messages postés
46
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
16 avril 2009
-
Messages postés
39
Date d'inscription
vendredi 15 juillet 2005
Statut
Membre
Dernière intervention
4 juin 2017
-
hello tout le monde !
j'ai un problème pour conserver les tries des données d'une table.
j'utilise phpMyAdmin 2.2.0rc4. lorsque je requete avec :
SELECT * FROM table ORDER BY champ1 ASC
il trie correctement la table mais cela ne reste pas en mémoire : si je raffraichis il me remet l'ordre choisi dans la combo de phpMyAdmin
que faut il rajouter pour "updater" la table et conserver l'ordre ?

merci

saibe

6 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut

attend, c'est un probleme d'utilisation de phpmysql ? (ou quand tu cliques la, il ne fait pas ce que tu veux qu'il fasse... c'est pas vraiment un probleme)
ou un probleme de php ?

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
46
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
16 avril 2009

re,
oui excuse je me suis mal exprimé.
en fait je programme en php et la table ne s'ordonnait po, sans pour autant avoir d'erreurs. donc j'ai fait les même requêtes sous phpmyadmin pour vérifier et là je voyais la table ordonnée correctement; mais après un raffraichissement l'ordre n'était po conservé.
plus j'avance plus je me dis qu'il faut refaire la table entièrement à chaque ordonnance, ou créer une table temporaire.... je continue de chercher...
merci.

saibe
Messages postés
39
Date d'inscription
vendredi 15 juillet 2005
Statut
Membre
Dernière intervention
4 juin 2017

Si ton problème est de trier un table et d'en garder le trie dans cette table, je peux te proposer la solution que j'utilise sur mon site :

# Création d'une table temporaire identique à la table que tu veux trier.
CREATETABLE`serveur`.`table_tmp`(  ... )ENGINE=MYISAMDEFAULTCHARSET=latin1;

# Copie de tous les éléments de la table d'origine dans la table temporaire avec un classement.
INSERTINTO`server`.`table_tmp`SELECT  * FROM  `serveur`.`table_org` ORDER BY `champ1` ASC;

# Effacement de la table d'origine.

DROPTABLE`serveur`.`table_org`

# Renomage de la table temporaire avec le nom de la table d'origine.
RENAMETABLE`serveur`.`table_tmp`TO`serveur`.`table_org`;

C'est peut être un peu bourin comme méthode mais pour le moment je n'ai pas pris le temps de faire mieux.
Je suis preneur d'autre solution au passage.
Messages postés
39
Date d'inscription
vendredi 15 juillet 2005
Statut
Membre
Dernière intervention
4 juin 2017

Eratum :





Des espaces manquaient j'ai donc repris ma réponse. Si un Admin pouvait supprimer la première réponse ... s.v.p.




<hr size="2" width="100%" />

Si ton problème est de trier un table et d'en garder le trie dans cette
table, je peux te proposer la solution que j'utilise sur mon site :

# Création d'une table temporaire identique à la table que tu veux trier.
CREATE TABLE`serveur`.`table_tmp`(  ... ) ENGINE=MYISAM DEFAULT CHARSET=latin1;

# Copie de tous les éléments de la table d'origine dans la table temporaire avec un classement.
INSERT INTO`server`.`table_tmp` SELECT  * FROM  `serveur`.`table_org` ORDER BY `champ1` ASC;

# Effacement de la table d'origine.

DROP TABLE`serveur`.`table_org`

# Renomage de la table temporaire avec le nom de la table d'origine.
RENAME TABLE`serveur`.`table_tmp` TO `serveur`.`table_org`;

C'est peut être un peu bourin comme méthode mais pour le moment je n'ai pas pris le temps de faire mieux.
Je suis preneur d'autre solution au passage.
Messages postés
46
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
16 avril 2009

hello seyvapul !
merci pour ta réponse. En effet maintenant j'ai compris que l'orde n'était pas conservé.
moi j'ai opté pour une autre solution, peut être encore plus bourin;)), mais qui permet à plusieurs utilisateurs d'avoir la table dans différents ordres :
1. création d'un fichier trie_user.ini ou txt qui contient la requete de trie.
2. dans mon php qui affiche la table je récupère la requete du fichier pour l'affichage ordonné.
3. lorsque je clique sur une entête de colonne je génère un nouveau trie_user.ini et je réaffiche.

si les codes t'intéressent je t'envoie tout ça.
on va y arrivé ;))

saibe
Messages postés
39
Date d'inscription
vendredi 15 juillet 2005
Statut
Membre
Dernière intervention
4 juin 2017

Merci mais je n'ai pas encore besoin de l'affichage, juste d'un tri conservé pour une navigation par enregistrement.
Si j'en ai besoin je ne manquerai pas de te contacter.