Help pour une requête SQL

cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 8 déc. 2002 à 00:27
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 23 juin 2004 à 14:12
hello!
j'arrange le script d'un forum et il me reste plus qu'un petit truc.
Bon je vé résumer
sélection des départs des discussions :
requête "SELECT id,titre,date,auteur... FROM table
order by id" //les id étant des auto-incréments, g le dernier sujet en premier. OK vous suivez?
Tant qu'il y a des résultats
{
afficher le titre du topic
sélection des réponses au topic
requete2 "SELECT parent,id,titre,date... FROM table
ORDER BY date"
afficher les titre des réponses
}
Donc ça trie d'abord les topic, ensuite les réponses par date du genre :
topic1 5 décembre 2002
+---réponse3 6 décembre
+---réponse2 6 décembre
+---réponse1 5 décembre
topic2 2 décembre 2002
+---réponse3 7 décembre
+---réponse2 4 décembre
+---réponse1 3 décembre
...
vous captez toujours? OK bon alors le dernier message posté est du 7 décembre mais le topic de ce message n'est pas le topic le plus récent donc n'est pas tout en haut.

En clair, JE VEUX obtenir
un tri des topics dans l'ordre chronologique inversé des réponse.
ma table est constitué de
id, titre, auteur, date,...,parent.
Quand parent = 0, c'est un topic, début de discussion.
Quand parent != 0, c'est une réponse. parent=1 veut dire que c'est une réponse du topic dont l'id est 1.

voilà donc j'aimerai de l'aide pour ma requête qui est : je veux afficher les id,titre,auteur,date des topics classés dans l'ordre chronologique DESC des réponses.

HELP PLEASE !

8 réponses

cs_booth Messages postés 220 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 13 juin 2005
11 déc. 2002 à 11:56
si t'as les scripts de tes tables ça serait pas mal....
ou une description précise
qu'on puisse voir les PK et autres FK

booth
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
11 déc. 2002 à 15:56
CREATE TABLE CSForum (
id int(11) NOT NULL auto_increment,
nom varchar(255) NOT NULL,
email varchar(255) NOT NULL,
dateCreat datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
texte text NOT NULL,
parent int(11) DEFAULT '0' NOT NULL,
remoteAddr varchar(15) NOT NULL,
titre varchar(255) NOT NULL,
reply enum('0','1') DEFAULT '0' NOT NULL,
url varchar(255) NOT NULL,
PRIMARY KEY (id)
);
0
cs_booth Messages postés 220 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 13 juin 2005
11 déc. 2002 à 16:48
SELECT a.id,a.nom FROM CSForum a,CSforum b WHERE a.parent=b.id ORDER BY b.dateCreat DESC

essai de voir ce que ça donne...

parcontre j'ai pris la synthaxe SQL d'Oracle, donc si c'est une autre base faudra que t'adapte un peu, je connais pas trop mysql

Autre remarque...
une chose bien plus simple qerait que tu update le message parent en rajoutant un champ update_date ou quelquechose comme ça... là ça serait plus simple puisque tes messages seraient trié dès le départ sur ta première requête
Là c'est àa toi de voir

;-)

tiens moi au courant

booth
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
19 déc. 2002 à 09:17
voilà je te tiens au courant (p-e un peu tard désolé, pb d'ordi c temps-ci...)
ça ne marche pas ta solution.

Comme personne ne trouvait une solution par une requête, j'ai alourdi un peu ma table en rajoutant un champ dateModif et un tri dessus.

merci quand même ;)
@pluchhh
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
porciner Messages postés 56 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 18 avril 2008
22 juin 2004 à 23:06
Bonsoir, je suis vraiment surpris que PERSONNE ne donne de réponse à ce post !
Je vais chercher et essayer de donner une réponse viable...
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
23 juin 2004 à 06:20
depuis le temps (1 an et demi quand même!) mon script a évolué et ma solution n'alourdit pas et me permet d'avoir une fonctionnalité intéressante.

QDVB ;-)
-----------------------------
http://iubito.free.fr
http://dicomusique.free.fr
0
porciner Messages postés 56 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 18 avril 2008
23 juin 2004 à 14:01
Très bien, donc tu as trouvé une solution qui permet de trier correctement sans ajouter un champs "date_modif" a updater à chaque post parent ?
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
23 juin 2004 à 14:12
j'ai une solution avec un champ dateModif, et ça marche comme ça, ça tourne même très bien, alors bon...
arf, de remuer un vieux post poussiéreux comme celui-là :p
faudrait passer l'aspirateur parfois dans la maison Codes-Sources, y'a d'la poussière partout :-D
lol :o)

QDVB ;-)
-----------------------------
http://iubito.free.fr
http://dicomusique.free.fr
0
Rejoignez-nous