Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2192 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Article Admin : MONTER et DESCENDRE ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Article Admin : MONTER et DESCENDRE ?

n°751161
rainckill
Posté le 03-06-2004 à 17:45:32  profilanswer
 

Bonjour :)
 
C'est plus une question de reflexion que de PHP, mais j'aimerai isnaurer un systèm me permettant de "monter" les articles (leur affichage) via mon admin, ainsi que de les descendre. Comme on le voit pour les catégorie/forums sur les forums phpBB via l'administration.
 
J'ai bien pensé à une incrementation d'un idaf pour chaque article. "Monter" = $idaf++ et descendre inversement. Mais si je supprime un article et en reposte un, il y aura des trou dans les ids. Donc fonctionner comme cela ne semble pas être une bonne métode...
 
Avez vous des idées ?   :sweat:  
 
 :hello:

mood
Publicité
Posté le 03-06-2004 à 17:45:32  profilanswer
 

n°751171
fabien
Vive la super 5 !
Posté le 03-06-2004 à 17:51:29  profilanswer
 

rainckill a écrit :

Bonjour :)
 
C'est plus une question de reflexion que de PHP, mais j'aimerai isnaurer un systèm me permettant de "monter" les articles (leur affichage) via mon admin, ainsi que de les descendre. Comme on le voit pour les catégorie/forums sur les forums phpBB via l'administration.
 
J'ai bien pensé à une incrementation d'un idaf pour chaque article. "Monter" = $idaf++ et descendre inversement. Mais si je supprime un article et en reposte un, il y aura des trou dans les ids. Donc fonctionner comme cela ne semble pas être une bonne métode...
 
Avez vous des idées ?   :sweat:  
 
 :hello:

utilise les dates.


---------------
Découvre le HFRcoin ✈ - smilies
n°751406
Hermes le ​Messager
Breton Quiétiste
Posté le 03-06-2004 à 20:08:37  profilanswer
 

rainckill a écrit :

Bonjour :)
 
C'est plus une question de reflexion que de PHP, mais j'aimerai isnaurer un systèm me permettant de "monter" les articles (leur affichage) via mon admin, ainsi que de les descendre. Comme on le voit pour les catégorie/forums sur les forums phpBB via l'administration.
 
J'ai bien pensé à une incrementation d'un idaf pour chaque article. "Monter" = $idaf++ et descendre inversement. Mais si je supprime un article et en reposte un, il y aura des trou dans les ids. Donc fonctionner comme cela ne semble pas être une bonne métode...
 
Avez vous des idées ?   :sweat:  
 
 :hello:


 
On s'en fout des trous. C'est normal.

n°751957
Beegee
Posté le 04-06-2004 à 09:00:02  profilanswer
 

d'ailleurs, il n'est pas nécessaire de supprimer un article ... tu peux mettre une date d'expiration.
 
Comme ça, si tu en as à nouveau besoin, tu peux le ressortir ;)

n°753008
yo c spi
Yo !
Posté le 04-06-2004 à 19:12:29  profilanswer
 

xla a écrit :

Tu les numérotes.
Chaque nouvel article a un numéro de position = au max des numéros de position + 1, et tu classes par numéro décroissant.
Quand tu veux repositionner un article, tu fais un update sur tous les articles dont le numéro de position est entre la position initiale et finale de ton article (tu incrémentes ou décrémentes de 1 selon que tu le montes ou descends) et ensuite tu changes ton numéro.

Si il y avit des trigers en MySQl ......... bonheur pour ce genre de manip

n°754431
rainckill
Posté le 07-06-2004 à 10:39:57  profilanswer
 

Hermes le Messager a écrit :

On s'en fout des trous. C'est normal.


 
Non, car imagine :
 
J'utilise le rangement par id. Et lorsque je 'monte' un article, j'ajoute +1 a l'id l'article. S'il y a des trous dans mes ids (apres suppr d'un article), l'article ne bougera pas de place...

n°754435
rainckill
Posté le 07-06-2004 à 10:42:07  profilanswer
 

xla a écrit :

Tu les numérotes.
Chaque nouvel article a un numéro de position = au max des numéros de position + 1, et tu classes par numéro décroissant.
Quand tu veux repositionner un article, tu fais un update sur tous les articles dont le numéro de position est entre la position initiale et finale de ton article (tu incrémentes ou décrémentes de 1 selon que tu le montes ou descends) et ensuite tu changes ton numéro.


 
Oui, mais pour que chaque article est un numéro attribué, il faut que j'utilise la fonton auto_increment comme pour les ids, et il risque d'y avoir des trous et donc même problème que plus haut...
 
N'y a t'il pas moyen d'eviter ces rous, pour parer simplement au problème  
 
En vous remerciant,
Raink

n°754613
Hermes le ​Messager
Breton Quiétiste
Posté le 07-06-2004 à 12:54:52  profilanswer
 

rainckill a écrit :

Non, car imagine :
 
J'utilise le rangement par id. Et lorsque je 'monte' un article, j'ajoute +1 a l'id l'article. S'il y a des trous dans mes ids (apres suppr d'un article), l'article ne bougera pas de place...


 
Tu rajoutes +1 à tous les id qui suivent ton id que tu déplaces.

n°754614
Hermes le ​Messager
Breton Quiétiste
Posté le 07-06-2004 à 12:55:38  profilanswer
 

rainckill a écrit :


 
N'y a t'il pas moyen d'eviter ces rous, pour parer simplement au problème  
 
En vous remerciant,
Raink


 
C'est "ta logique" le problème. RIen d'autre. Réfléchis bien, tu verras que les trous ne posent (dans ce cas précis) aucun problème.

n°755364
rainckill
Posté le 07-06-2004 à 20:10:17  profilanswer
 

Hermes le Messager a écrit :

C'est "ta logique" le problème. RIen d'autre. Réfléchis bien, tu verras que les trous ne posent (dans ce cas précis) aucun problème.


 
Oui je veux bien croire que c'est ma logique qui bloque ;) Mais si l'on suis cette logique, les trous posent bel et bien un problème. Je vais essayer de donner un exemple :
 
J'ajoute un article (id= 1) puis deux autres (id=2 et id=3). Je supprime l'article ayant pour id 2.  
Bilan :
"Article machin" (id = 1)
"Article bidule" (id = 3)
 
Je fais un tri par id décroissant. Il affiche donc Bidule, et ensuite Machin. Je veux, via mon admin, "monter" l'article Machin. Je relève l'id de Machin de +1. L'id sera donc 2 (a la place de 1) mais l'ordre ne sera pas changé.
 
Mais c'est vrai qu cette mthode savère vrament mauvaise, car même sans cette histire de trous, des articles aurait le même id en les relevant (ou abaissant) de 1 pour l'ordre... Donc c'est une mauvaise solution c'est vrai.
 
Celle que tu proposes (rajouter +1 à tous les id qui suivent l'id déplacé) je ne l'a ompren pas vraiment... Pourrais tu m'aider à la traduire ?
 
Merci encore  :hello:

mood
Publicité
Posté le 07-06-2004 à 20:10:17  profilanswer
 

n°755716
naceroth
Posté le 08-06-2004 à 02:58:02  profilanswer
 

J'ai envie de te dire : te casse pas la tête à mémoriser leur position, contente toi de savoir qui précède qui :

id/nom/suit

1/Bidule/0
2/Truc/1
3/Machin/2
 
Je veux monter Machin, facile, je sais qui il suit (l'id 2), donc je modifie le champs suit de Machin en lui donnant la valeur du champs suit de Truc et celle du champs suit de truc en lui donnant l'id de machin :
 
1/Bidule/0
2/Truc/3
3/Machin/1
 
Et que ce soit descendre, insérer, supprimer un article, c'est toujours le même principe (ou à presque) qui revient :)
 
//edit :
 
J'avais juste oublié de préciser un truc, il faut aussi modifier le champs suit de celui qui suit l'élément déplacé. Là, ça peut varier suivant que tu fais le déplacement d'un élément ou de tout un bloc d'éléments :)


Message édité par naceroth le 08-06-2004 à 16:46:52
n°755771
KrisCool
“Verbeux„
Posté le 08-06-2004 à 09:10:10  profilanswer
 

Le principe de la liste chaînée ;)

n°755772
Mara's dad
Yes I can !
Posté le 08-06-2004 à 09:11:25  profilanswer
 

Ce qui revient à gérer un numéro d'ordre, c'est pareil, tu fais comme tu veux.
Avec un numéro d'ordre, il est plus compliqué de faire une supression ou un insertion dans la liste, mais en revanche, il est plus facile de vérifier l'intégrité de la base.
 
En tout cas, un truc à ne pas faire, c'est modifier l'id !
 
L'id, comme sont nom l'indique, c'est ce qui identifie.
Si un lien ou autre fait référence à un article, c'est par son ID, donc le modifier revient à casser toute possibilité de référencer un article.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°770109
rainckill
Posté le 19-06-2004 à 23:57:52  profilanswer
 

ui bien sur Mara's, que j'ai parler de "modifier" l'id, c'était apres dupliquer le champs.
 
Sinon astucieux en effet naceroth, je vais réfléchir dans ce sens :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Article Admin : MONTER et DESCENDRE ?

 

Sujets relatifs
[PHP] alors la je comprend pas[php] erreur dans le code
Récupérer l'URL en PHP ?[PHP] Affichage des variables formatées ?
[PHP] authentification et redirectiondate PHP
[PHP] pb d'acces ????J'aimerai faire une liste de contact puis un un forum en PHP mais
[PHP] Cookies VS Fonction dans une classe [Resolu][PHP] trouve pas la table alors qu'elle existe
Plus de sujets relatifs à : [PHP] Article Admin : MONTER et DESCENDRE ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR