|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 45 ![]() |
bonsoir,
Alors voila, j'ai un petit pbm. Je travaille sur un scipt de forum assez basique. Ce que je voudrai faire, c'est faire apparaitre le nom de la personne qui a répondu en dernier en face du titre du message, du nombre de vue, de reponses, etc... Pour cela, j'ai un champs "nom" "date_insertion" (date a laquelle a été posté la question ou la réponse) "date_message"(date du 1er message. Lorsqu'un nouvel enregistrement est effectué, "date_message" prend automatiquement la date se trouvant dans "date_insertion" du 1er message). Comment faire donc sortir le nom en rapport avec la derniere entrée dans "date_insertion"? Ce que j'ai réussi a faire pour le moment, c'est récupérer le nom de l'auteur du 1er post... Pas interressant Merci ![]()
|
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Étudiant Inscription : octobre 2010 Messages : 92 ![]() |
J'ai bien compris ce que tu veux faire, mais pas du tout ton explication de l'existant. Tu as cb de table et cb de champ ?
|
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 836 ![]() |
Je pense que date_message ne sert à rien. Avec une requête du style :
Code :
select * from message order by date_insertion desc limit 1
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ... |
|
|
00
|
|
|
#4 | ||||
|
Membre confirmé
![]() Bertrand Étudiant Inscription : octobre 2010 Messages : 216 ![]() |
Bonjour,
je ne suis pas sur que tu puisses le faire. Ou du moins pas avec la table que tu nous donnes. Tu devrais distinguer le fait que quelqu'un pose une question ou qu'il y réponde ainsi tu pourras mieux obtenir la dernière personne qui a posté le message. table: Code :
Code :
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître Ps: N'oubliez pas SVP
|
||||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 45 ![]() |
Merci de vos réponses
zeclad01: J'ai 1 table forum avec 10 champs Code :
id, nom, email, date_insertion, titre_mess, texte, id_reponse, ip, nb_lect, date_reponse. Voici ma table (j'ai enlevé ce qui ne me semble pas utile pour cette requête) Code :
Elwyn: J'ai essayé ta requête, mais elle ne me retourne que la dernière entrée Retrokiller069: Tu as raison, ça aurai du être fait comme ça. Ça aurai surement été plus simple, mais maintenant que tout est fait, je me vois mal recommencer :-) Merci a tous de votre participation |
||
|
|
00
|
|
|
#6 | ||
|
Membre confirmé
![]() Bertrand Étudiant Inscription : octobre 2010 Messages : 216 ![]() |
Ben du coup tu peux utiliser ma requête, elle ne sera pas trop différente:
Code :
En espérant que ca marche...
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître Ps: N'oubliez pas SVP
|
||
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 45 ![]() |
merci Retrokiller069, mais je m'en sors vraiment pas...
Je vous laisse la parti de code que j'utilise pour appeler l'index du forum (titre, auteur, date ajout, nombre de fois vue, nombre de réponses, date du dernier post et ce qu'il me manque, l'auteur du dernier post) Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Bertrand Étudiant Inscription : octobre 2010 Messages : 216 ![]() |
Houla, je crois que j'avais pas compris ce que tu voulais.
Tu veux le dernier message du dernier poste? si c'est ça la requête est comme ceci: Code :
![]() ps: il y a peut être plus simple avec ca: Code :
select * from message order by date_reponse desc limit 1
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître Ps: N'oubliez pas SVP
|
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 45 ![]() |
C'est cool Retrokiller069 de me suivre... :-)
Je crois que j'arrive pas a me faire comprendre Je créé un forum, comme tout forum qui se respecte, sur la 1ere page apparait le titre du message(qu'on va appeler question), le nom de l'auteur de la question, la date de création de la question, le nombre de fois que la question a été vue, le nombre de réponses a cette même question, la date de la dernière réponse à la question et le nom de l'auteur de la dernière réponse(que je n'arrive pas a insérer). Le code que j'ai posté permet tout ceci, sauf le nom de l'auteur du dernier post. Retrokiller069? une nouvelle idée??? ![]()
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 45 ![]() |
au fait, lorsque je lance ton code dans easyphp, ça me retourne #1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Pourtant c'est la dernière version. |
|
|
00
|
|
|
#11 | |||
|
Membre confirmé
![]() Bertrand Étudiant Inscription : octobre 2010 Messages : 216 ![]() |
Bonjour,
Code :
Citation:
test dans phpMyAdmin pour voir si cela marche (prend un idQuestionRécupéré présent dans la base et dis moi si ca marche). Apparemment, je ne le savais pas mais sql ne c'est pas faire de "IN" ou "NOT IN". je pense aussi qu'il n'aime pas la virgule placé après ta valeur limite. Je te laisse tester, tiens nous au courant sinon poste ce que tu as fait, l'erreur causé et retourne aussi ta requete php (un petit echo de $sql pour voir ce qu'il contient au final).
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître Ps: N'oubliez pas SVP
|
|||
|
|
00
|
|
|
#12 | ||
|
Membre chevronné
![]() Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 836 ![]() |
Il faut revoir ton modèle de données. Quelque chose comme ça serait plus interessant :
Code :
Tous les autres taitements se font via des requêtes en complément de PHP. Par exemple pour le nombre de réponses à une question, c'est une requête très simple. Code :
select count(*) as count from reponse where id_question = 1 Code :
select * from reponse where id_question = 1 order by date_insertion desc limit 1
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ... |
||
|
|
01
|
|
|
#13 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 45 ![]() |
Bonjour a tous,
Je pars pour le WE et n'ai donc pas le temps de regarder tout ça. Je vous tiens au courant lundi. Merci de votre intérêt et bon WE a tous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com