CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[php] probleme de classement sur mon for

jacman
jacman
Niveau 11
17 septembre 2006 à 16:10:59

bonjour,
alors ce n´est sur mon for, mais sur mon forum :rire:

j´ai crée un systeme de forum, alors j´affiche donc mes sujets, et j´aimerai qu´il soit classer en 1er si jamais il y a une réponse sur l´un d´eux, c´est ca mon probleme, quand je poste une réponse, le sujet ne monte pas en premier, voici mon code :
http://simmstein.be/wall-pNDFuD5N-php.htm

alors, dans ma table, j´ai un champs id, pseudo, message, date (c´est un timestamp),reponse (pour savoir si c´est une réponse ou un sujet),sujet (pour savoir a kel sujet la réponse correspond).

Comme vous pouvez le voir dans mon code, j´ai mis un classment décroissant, donc du plus haut au plus bas, sur mon champ date, mais rien y fait, il ne veux pas prendre en compte mes réponse ...

vous pouve m´aidez svp ?
merci :-)

deepblue
deepblue
Niveau 16
17 septembre 2006 à 16:14:05

Rajoute un champ "place", qui s´incrémznt au fur et a mesure que des sujets et des reponses sont postés, ensuite tu trie en fonction de ce champ :

sujet :
id pseudo message date reponse sujet place

jacman
jacman
Niveau 11
17 septembre 2006 à 16:15:54

euh, autant le faire sur l´id non ?, je sais pas si ca va changer grand chose ...
car si je vais ca, bien j´affiche seulement les sujets, donc les réponse ne seront pas pris en compte ...

deepblue
deepblue
Niveau 16
17 septembre 2006 à 16:17:55

nan tu fais parel avec les reponses :ok:

Si tu chnage l´id, ça n´ira pas

jacman
jacman
Niveau 11
17 septembre 2006 à 16:20:21

Oo je comprend pas ce que tu veux que je fasse, je voulais pas changer l´id, mais tu me dit de créer un champs "place" qui s´auto incremente a chque sujet et réponse, c´est exactement comme un id, je pense pas que cela va résoudre grand chose ...

regarde, ma page de test:
http://rpgferiah.free.fr/topic.php

deepblue
deepblue
Niveau 16
17 septembre 2006 à 16:26:16

C´est dur a expliquer...

L´id d´un sujet ou d´une reponse ne doit pas changer.

(place correspond a un nombre)

Un sujet, peut avoir une palce specifique :
Le sujet A est posté à 1h20
Le sujet B est posté à 2h00

place A < place B : logique etant donné que B est plus recent.

Si une reponse est aporté a A, alors
place A = place B + 1

Si B reçoit une reponse, alors :
place B = Place A + 1

Pour mon forum, je fais comme ça :
J´ai un fichier qui contient la palce la plus grande.
Quand un sujet ou une reponse est posté, je recupere cette valeur, j´ajoute 1, et j´indique au sujet la place recalculée

jacman
jacman
Niveau 11
17 septembre 2006 à 16:28:24

aaaah ok, je vais essayer ca tout de suite, en effet j´y avais pas penser, merci :-)
je te dit si ca marche

jacman
jacman
Niveau 11
17 septembre 2006 à 16:31:59

euh, par contre, il peut arriver que plusieurs nombre dans le champs "place" soit identique, dans ce cas ca va faire quoi ?
cela risque de planter le truc ...

boa, je verrais bien :-)

deepblue
deepblue
Niveau 16
17 septembre 2006 à 16:34:10

Ben theoriquement, il ne peux pas avoir le meme nombre mais si c´est la cas, il n´y aura pas d´erreur :ok:

jacman
jacman
Niveau 11
17 septembre 2006 à 16:53:18

mince attend j´y arrive pas.
C´est l´histoire des variables placea et placeb.

Je sais pas comment les modifier, enfin pas la sintaxe, mais l´endroit où faut les mettres :rire:
ma page pour poster :
http://simmstein.be/wall-IuwChqcM-php.htm

regarde, j´ai mis place1 = place2 + 1 seulement place2 = toujours à 0 :rire: je suis sur que c´est tout con, j´ai réussi des trucs bien plus dur, mais la j´avou que je suis fatigué :rire:

deepblue
deepblue
Niveau 16
17 septembre 2006 à 16:57:40

D´ou viennent es $placeX, il faut bien avoir stocké et recupéré les palces qq part :ok:

jacman
jacman
Niveau 11
17 septembre 2006 à 17:07:31

bien, c´est bon j´ai réussi :-) en fait je sais pas trop si c´est ce que tu voulais me dire, mais j´ai fais ca :

j´ai pris ma base de donnée, je prend mon plus grand nombre contenu dans "place" (en faisant ORDER BY place DESC), je l´enregistre dans une variable (place), puis dans une autre variable, je fais $place +1, puis je modifie l´id concerné, par ma variable, et voila, ce qui fait qu´aucun id ne seras pareil ...

merci beaucoup deepblue, tu me sauve la vie ... oui oui, car j´ai passer tout l´aprem dessus :rire: maintenant je suis chauve :-)

darth-bane
darth-bane
Niveau 10
17 septembre 2006 à 21:04:07

Pourquoi ne pas trier les sujet en fonction de la date et l´heure du dernier post :question:

deepblue
deepblue
Niveau 16
17 septembre 2006 à 21:08:27

car c´est plus rapide comme ça

Pseudo supprimé
Pseudo supprimé 17 septembre 2006 à 21:48:13

En fait il existe 2 truc principaux :

1)Système des places.
2)Date de dèrnière réponse.

Le système des places est rapide à executer et à coder, mais présente un gros inconvénient, c´est que le système des sujets et le système des posts, sont 2 systèmes indépendants. Ce qui veut dire que s´il y a un bug pour une X raison, et que les tout n´as pas été sécurisé, les 2 systèmes peuvent rentrer en conflit.

Le système de la dérnière réponse est assez lent car pour determiner la place d´un sujet il faut voir le dernier post écrit. Cela veut dire que niveau boucle, c´est pas le top. L´avantage est qu´il n´y aura jamais de conflit car c´est un même système qui gère tout.

Je pense donc qu´il faut opter pour la première méthode si on a une certaine experience, et pour le 2eme si on veut être sur d´être sécurisé.

Yoda_Software
Yoda_Software
Niveau 30
17 septembre 2006 à 21:49:25

Je demande à voir !
Ca augmente la taille de de la BDD puisque pour chaque sujet tu ajoute un champs !
Ce qui augmentre le temps de lecture/écriture !

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment