Forum Clubic

[PHP/mySQL] Classer des champs

Salut a tous !

J’ai une table mySQL liens avec comme champs:
id | url | description

et lorsque j’ai besoin des liens je les affiches par id croissant.

Mais imaginons que je veuille absolument changer l’ordre d’affichage (via une page d’admin), chui bayzay [:paysan] !

Alors j’aimerais interclasser ma table a mes souhait n’importe comment, le 1er en dernier et par exemple le 2eme entre le dernier etc…

Je voulais savoir si le principe de modifier dechanger des id etait une bonne id :whistle: ou si il valais mieux rajouter un champ classement juste pour cet effet?

Enfin je suis sur que ce probleme est tres classique, je ne cherche pas vraiment du code mais plutot une facon de faire ca proprement (bien evidement, je vais essayer de develloper un script qui soit compatible quelquesoit les champs de ma table, et donc réutiliser juste en changeant le nom de la table)

Cordialement

ben modifier l’id ca craint parce que je pense qu’il est la en tant que primary key non?
de plus pour ton probleme creer un champs special pour le classement c’est pas bon vu qu’il faut que tu le changes avant de t’en servir c’est lourd
la solution la plus propre serait de rajouter un champ id_alternatif ou tu place le second positionnement mais pareil c’est lourd aussi
enfin je sais pas pourquoi tu veux changer l’ordre mais tu peux toujours essayer un order by description par exemple en choissisant des valeurs pas trop mal
ou encore un champs note ou je ne sais quoi qui te permet de classer des url differrement!
voila il y a pas mal d’idee plus ou moins bonne mais pas de miracle
a toi de voir!

et en ajoutant un champ date modifiable à loisir hein?

SN > ca revient a ajouter un id_de_classement non?
oui l’id est PRIMARY KEY.

je cherchais une facon simple, je pensais que c’etait un probleme recurent, parfois classer par ordre alphabetique ou par date ou id (qui revient au meme que la date s’il est unique) ne suffit pas.

Mais avoir des pages d admin avec beaucoup de traitement est mieux que de faire ces traitement lors de la lecture des données

  • Si en plus pendant des edtions ont fait des tris et autres afin d’optimiser c’est buen -

Enfin ce n’est que mon avis perso

non du tout.

Ca revient à ajouter une date à tes éléments, pour les trier comme tu veux, tu peux aussi ajouter un entier quelconque … c’est juste que cet entier sera moins contraignant que faire mumuse avec la clef primaire…

En gros, tu as ces champs là à la fin :

id | url | description | order (int)

[cpp]SELECT id, url, description
FROM table
ORDER BY order ASC[/cpp]

et pouf!

Niveau administration, tu peux afficher tous les liens et à côté un champ texte pour changer la valeur, ou te faire chier autrement, bref…

On c’est mal compris je pense a ca depuis le debut !
je voulais a la bae savoir si la solution ci dessus est plus propre que celle qui consiste a echanger les id

à ton avis?
un id c’est un id. Ca identifie les données.

Si je changeais ton ADN parce que j’ai besoin de changer ton placement dans ta FAC, tu serais ravis?

autant pour moi
topic résolu
utilisation donc d’un champ order(int)