|
Publicité | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Voilà alors avant tout j'avou être débutant en SQL - PHP et Wordpress ^_^ alors pitié, soyez tolérant
Bon, mon problème est celui ci : J'ai débuté la réalisation d'un blog sous wordpress, et j'aimerais pouvoir afficher dans ma sidebar, les 10 derniers articles commentés de mon blog. J'ai trouvé du code sur internet qui m'a permis d'obtenir à peu près le résultat que j'attendais : Code :
- Article 1 commenté par ToTo - Article 1 commenté par TaTa - Article 2 commenté par TonTon - Article 3 commenté par TiTi - Article 3 commenté par TuTu (dsl pour le manque d'inspiration hein )Vous l'aurez compris, je ne veux pas que des mêmes articles de mon blog apparaissent plusieurs fois ici. L'idéal serait : -Article 1 commenté par ToTo -Article 2 commenté par TonTon -Article 3 commenté par TiTi Alors je me suis renseigné sur le comment du pourquoi, j'ai modifié la requête en essayant de faire un ' distinct ' ainsi que des jointures, mais mon trop faible niveau de compétence dans la matière m'handicape. En espérant qu'une âme charitable (et douée en sql-php) m'éclaire sur le sujet, je vous remercie d'avance d'avoir pris le temps de lire ce post, Amicalement, Omnislash |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Pourquoi afficher le commentaire de Toto plutot que celui de Tata pour l'article 1 ?
|
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Sans le confirmer :
Code sql :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Ahhh ! Merci de ta réponse, je n'ai déjà plus les articles qui se répètent
Cependant j'ai pas de bol comme tu as dis, je me retrouve avec le 1er commentaire xD tu sais d'où ca peut venir ? ... Merci encore de tes réponses qui m'aide beaucoup |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Dans l'autre sens ?
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
GROUP BY P.ID
ORDER BY C.comment_date_gmt DESC DESC LIMIT $number ne marche pas |
|
|
00
|
|
|
#8 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
oups je n'avais pas vu qu'il trainait en bas
Code sql :
|
||
|
|
00
|
|
|
#9 | |||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Essaie plutôt cette requête :
Code SQL :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#11 | |||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Citation:
o_O Du premier coup Monsieur ! Le dernier article commenté à bien été affiché en montrant le dernier post ! Seul soucis maintenant, je ne vois que le dernier article commenté et pas mes 10 derniers >.< Bizarre non ? surtout quand je vois que tu as conservé la variable $number , peut-être une faute de syntaxe ? Ou peut-être est-ce à cause de MAX(c.comment_date_gmt) ?En tout cas merci de ta réponse C'est chiant les noobs désolé |
|||
|
|
00
|
|
|
#12 |
![]() ![]() |
Que vaut la variable $number ?
La sous-requête (alias 't'), donne la date du commentaire le plus récent pour chaque post. On fait ensuite une jointure de ce résultat avec la table des commentaires pour avoir les informations des commentaires. Si tu veux les 10 derniers commentaires, il faut que $number ait pour valeur 10.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#13 | |||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Citation:
Oui j'ai compris ta requête, mais même en attribuant la valeur 10 a la variable ca ne marche pas Code :
Merci une fois de plus de ta réponse rapide |
|||
|
|
00
|
|
|
#14 |
![]() ![]() |
En principe la variable $number a bien la valeur 10 oui !
Il faudrait essayer d'afficher la requête exacte envoyée au serveur et la lancer dans phpMyAdmin pour voir ce que ça donne.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#15 | ||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Ok donc je viens de test la requete directement sous phpmyadmin.
Seulement, je rencontre quelques problèmes (pour changer !)Voici mon code : Code :
Comment faire alors ? Voici le message d'erreur que me donne phpmyadmin : Code :
|
||||
|
|
00
|
|
|
#16 | ||
![]() ![]() |
Remplacer $number par 10 est bien.
![]() Le message d'erreur par contre indique une erreur de syntaxe due à la partie objet php de la requête. Remplace ceci : Par cela : Et remplace ceci : Par cela : Essaie donc de lancer cette requête dans phpMyAdmin : Code SQL :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#17 | ||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Voila ! Je viens de tester le tout dans phpmyadmin.
Bon en fait au début il m'affichait une erreur : la table n'existe pas, j'ai vite compris que c'était a cause des modifs que tu avais faites, tu n'étais pas censé savoir que le $wpdb-> servait a donner le nom correct à mes tables qui en réalité ne s'appellent ni comments ni posts, mais wp_comments, wp_posts. Bref ^^ La requête SQL fonctionne sous phpmyadmin et via mon code php, mais toujours le même problème, je ne vois que le dernier post du dernier article, et non les 10 derniers Retour à la case départ (ou presque, j'aurais quand même appris des choses grace à vous jusque là Revoilou mon code x) : Code :
|
||
|
|
00
|
|
|
#18 | ||
![]() ![]() |
Tu peux me donner la structure des tables par :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#19 | ||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 26 ![]() |
Code :
Code :
Voila maintenant deux exemple de la table comment remplie : 40 - 725 - 2015 - xXxX@hotmail.com -http://www.deux-mille-quinze.com - 93.16.56.250 - 2010-01-27 21:59:15 - 2010-01-27 19:59:15 - Ce qui est vraiment intéressant, c’est que APPLE v... - 0 - 1 - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;... - 0 et l'autre : 28 - 517 - David - XXX@hotmail.com - 84.97.240.23 - 2009-12-15 21:46:27 - 2009-12-15 19:46:27 - Cool... j'ai hâte de tester dans mon lycée - 0 - 1 - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) Ap... - 0 - 0 Voila ! La seule colonne vide dans ces deux exemples est : comment_type. Voici maintenant un exemple de la table posts remplie : 725 - 3 - 2010-01-27 12:49:50 - 2010-01-27 10:49:50 - <p style="text-align: center;"><img class="alignce... - Tablette Apple C'est pour demain ! - publish - open - open - tablette-apple - 2010-01-27 12:51:19 - 2010-01-27 10:51:19 - 0 - http://www.xXxXx.com/Labs/?p=725 - 0 - post - 1 517 - 3 - 2009-12-14 13:55:07 - 2009-12-14 11:55:07 - <img class="aligncenter size-full wp-image-518" ti... - WuiperSms System - Le wuip est votre petit messager de poche qui vous... - publish - open - open - wuiper-sms-system - 2009-12-14 13:59:03 - 2009-12-14 11:59:03 - 0 - http://www.xXXXX.com/Labs/?p=517 - 0 -post - 1 Les seuls colonnes non remplies ici sont : post_password, to_ping, pinged, post_content_filtered, post_parent, menu_order et post_mime_type. Tu remarqueras que les deux exemples de chaque table correspondent entre eux |
||||
|
|
00
|
|
|
#20 | ||
![]() ![]() |
Au temps pour moi !
Il manquait dans ma requête un GROUP BY qui a dû sauter dans un copier coller. Essaie cette requête : Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com