Page 1 sur 1
Histoire de rang....
Posté : 07 oct. 2005, 10:29
par Sébastien
Bonjour à vous tous,
Je recherche un moyen "ludique" de proposer, sur une petite interface administration, le moyen de classer des enregistrement de table.
Je vais essayer d'être un peu plus clair...
Je vais concevoir une petite interface administration qui va permettre d'ajouter/modifier/supprimer des "actualités" sur un site (jusqu'ici tout va bien !).
Puis je souhaiterai proposer, d'une façon ludique, de classer ces actualités par ordre d'affichage (final sur le site en ligne).
Par exemple :
L'actualité, dont l'identifiant "table" est le 32, la faire apparaitre en premier.
Alors que celle dont l'identifiant est le 15 en second...
Puis celle dont l'identifiant est 35 en troisième...
Etc...
Bien évidement je vais créé un champ "rang" qui va me permettre de faire ma petite "salade"...
Noter dans ce champ un chiffre puis faire un "ORDER id_news ASC" par exemple...
Mais j'aurai souhaiter que ce "rangement" ce fasse visuellement...
Que l'on puisse voir toutes les actualités (leurs titres) avec le rang et d'une manière ou d'une autre... de modifier à loisir ces "rangs"...
Pour éviter de donner le même numéro de rang à deux actualités différentes...
J'espère avoir été assez clair...
Comment puis-je faire ?
Existe t'il quelque chose de similaire ?
Merci de votre aide
Sébastien
Posté : 07 oct. 2005, 10:33
par ouckileou
Tu peux proposer sur ton interface un champ texte pour chaque actualité permettant d'indiquer le numéro du rang
Et à l'insertion/mise à jour vérifier que deux actualités n'ont pas le même rang
Mais, question bête, tu ne voudrais pas fonctionner de façon plus conventionnelle avec une date ? tu t'embêterais moins

Posté : 07 oct. 2005, 10:40
par mcorgnet
Tu peux tout faire en php, sans trop de problèmes :
Quand tu permets à quelqu'un de modifier un rang, tu testes s'il existe déjà dans la base de données (exemple pour le pays "france").
la france était rang 23, tu veux la passer à 12 :
S'il le rang 12 n'existe pas dans la base de données, alors tu fais une mise à jour du rang (UPDATE).
S'il existe sur le pays "allemagne", tu fais une mise à jour du rang de "france" comme au dessus, mais il faut avoir posté avec ton formulaire un champs hidden contenant l'ancien rang de france (le rang 23 donc), et que tu mettes à jour le rang d'allemagne depuis ce rang. Ainsi, c'est juste un échange entre france et allemagne ...
En espérant que ma réponse fut adéquate.
Posté : 07 oct. 2005, 10:44
par Sébastien
ouckileou,
Merci de ta réponse.
Oui j'y ai pensé... mais en faisant un par un ça risque de ne pas être très ludique...
Par date ben non...
Car ce "rangement" ne ce fait pas par date...
L'actualité d'avant hier doit être en premier... car elle peut être plus importante que celle d'aujourd'hui... et la mettre en "avant" (en premier visuellement sur le site)
J'avais pensé de faire un script qui afficherai toutes les "actus" avec leur numéro de rang (qui pourrais être dans un champ modifiable).
Pouvoir ensuite donner ce rang (d'apparence sur le site) et à l'aide d'un bouton "submit" enregistrer toutes les modifications... et donc le "niveau" d'apparence sur le site...
Quelque chose comme cela (!?)
Sébastien
Posté : 07 oct. 2005, 10:51
par ouckileou
Oui j'y ai pensé... mais en faisant un par un ça risque de ne pas être très ludique...
il va pourtant bien falloir que quelqu'un dise à un moment ou un autre quelle place occupe la news
J'avais pensé de faire un script qui afficherai toutes les "actus" avec leur numéro de rang (qui pourrais être dans un champ modifiable).
Pouvoir ensuite donner ce rang (d'apparence sur le site) et à l'aide d'un bouton "submit" enregistrer toutes les modifications... et donc le "niveau" d'apparence sur le site...
n'est-ce pas ce que je proposais, ainsi que mcorgnet ?

Mais il aura bien fallu avant définir un rang à l'enregistrement de l'actualité...
Posté : 07 oct. 2005, 10:54
par Sébastien
mcorgnet,
Merci de ta réponse.
Comme je le dit dans mon dernier poste.
J'aimerai que ce soit ... d'une façon un peu plus ludique...
Parce que la ça risque d'embrouiller les gens...
Imaginons :
PAYS | RANG
France | 12
Allemagne | 08
....
Si je veux que la France^prenne le rang "08" (celui de l'allemagne)...
Donc l'allemagne prendra l'ancien rang de la france (le "12")...
Mais que l'allemagne doit avoir le rang "05"... il faudra aussi changer l'allemagne...
La il y en a que 2 (Pays) mais si il y a une dizaine... ca risque d'embrouiller les gens.
Je comprend ton système... mais je dois trouver une façon plus "simple".
Comme je l'ai décrit (avec mes mots) dans mon dernier poste.
Sébastien
Posté : 07 oct. 2005, 10:57
par ouckileou
Tu peux utiliser une liste déroulante, de 1 à 12 si tu as 12 actualités, et quand tu changes le rang, tu affiches à coté (grâce à du Javascript par exemple) l'actualité qui a actuellement ce rang
Tu peux même faire le changement automatiquement, directement via les listes
Est-ce que tu vois ce que je veux dire ?
En tout cas, je ne vois pas trop comment réduire trop les choix utilisateurs...
Posté : 07 oct. 2005, 11:02
par mcorgnet
Si tu te crées une petite fonction pour la mise à jour du rang, puis que tu appelles cette fonction pour chaque rang qui est changé, alors ça fera les mises à jour tout seul ...
L'autre solution consiste à placer de boutons "monter d'un rang", "descendre d'un rang" ...
C'est très ludique, mais très long quand on veut passer du rang 15 au rang 3.
Posté : 07 oct. 2005, 11:06
par Sébastien
ouckileou,
Tu peux même faire le changement automatiquement, directement via les listes
Je comprend pas ce que tu veux dire ?
mcorgnet,
L'autre solution consiste à placer de boutons "monter d'un rang", "descendre d'un rang" ...
De quel manière ?
Merci de vos réponse
Sébastien.
Posté : 07 oct. 2005, 11:09
par mcorgnet
Dans un formulaire : un bouton "monter d'un rang" sera une image ...
Quand l'utilisateur clique dessus, tu postes avec le rang actuel, et pour ce rang tu incrémentes de un. Pour le rang qui était au dessus tu fais le contraire ...
hum, quel est l'antonyme d'incrémenter ?
Posté : 07 oct. 2005, 11:12
par ouckileou
Ce que je vulais dire, c'est que au niveau de l'interface de modification
(donc avec toutes tes news enregistrées)
Tu peux avoir pour chaque news, une liste déroualnte, remplie et pré-positionnée
Et si tu modifies sa valeur, faire en sorte la news qui possédait la valeur choisie, prenne la précédente
C'est pas clair, alors un exemple :
ActuA - 2
ActuD - 5
Tu changes le rang de ActuA, tu choisis dans la liste : 5
Ton script va aller modifier la liste qui était positionnée à 5, donc celle d'actuD, et la positionner à 2 (la valeur précédente d'ActuA)
Cela automatise un peu, mais je vois mal comment faire mieux que de fonctionner 2 par 2...

Posté : 07 oct. 2005, 11:19
par Sébastien
Merci à vous deux,
Je percois une réponse (à mettre en pratique)
Pensez vous qu'il soit possible d'avoir toutes les news (en gros une dizaine) affichées avec devant un champ (une liste déroulante, un champs texte... ) ou serait affiché le rang actuel.
Puis modifier ce rang, pour toutes les actualités, une fois le "ménage" effectué... Cliquer sur un bouton "submit" pour enregistrer les modifications... de toutes les "actus" ?
Sébastien
Posté : 07 oct. 2005, 11:39
par ouckileou
ben oui, c'est ce qu'on te suggère depuis le début

Posté : 07 oct. 2005, 11:44
par Sébastien
Oui !
Alors je vais essayer de développer tout ça.
Merci de votre aide à tous deux.
Je reviendrai dès que j'aurai fini ce script et vous le proposer...
Peut être même trouverez vous un moyen de l'améliorer.
Bonne journée
Sébastien.