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 ?
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 ?
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.
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.
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.
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é ;))
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.