[spip-dev] [Bug svn 11187]

Bonsoir,

Sur la boucle suivante dans le squelette SoyezCreateurs :
<B_Syndications>
02 <h2>#ANCRE_PAGINATION<:ecrire:titre_syndication:></h2>
03 <ul>
04 <BOUCLE_Syndications(SYNDIC_ARTICLES) {recherche} {par points} {inverse} {pagination 25}{!lang_select}>
05 <li><a href="[(#ID_SYNDIC|generer_url_site|parametre_url{'id_syndic_article',#ID_SYNDIC_ARTICLE})]" title="[(#DATE) - ][(#DESCRIPTIF|supprimer_tags|attribut_html)]">[(#TITRE|supprimer_tags)]</a> : [(#DATE|nom_jour)] [(#DATE|affdate)]</li>
06 </BOUCLE_Syndications>
07 </ul>
08 [<p class="pagination">(#PAGINATION)</p>]
09 [(#SET{nbelementstrouves,#GET{nbelementstrouves}|plus{#GRAND_TOTAL}})]
10 </B_Syndications>

Qui se compile en :
SELECT syndic_articles.id_syndic_article, recherches.points AS points, syndic_articles.id_syndic, syndic_articles.date, syndic_articles.descriptif, syndic_articles.titre, syndic_articles.id_syndic_article
03 FROM spip_syndic_articles AS `syndic_articles`, spip_recherches AS `recherches`
04 INNER JOIN spip_syndic AS L1 ON (L1.id_syndic = syndic_articles.id_syndic)
05 WHERE (syndic_articles.statut = 'publie')
06 AND recherches.id=syndic_articles.id_syndic_article
07 AND (recherche='3e19a1793cfb8a67')
08 AND (L1.statut = 'publie')
09 GROUP BY syndic_articles.id_syndic_article,syndic_articles.id_syndic
10 ORDER BY points DESC

J'ai l'erreur suivante :
<BOUCLE_Syndications>()
Erreur SQL
syndic_articles.id_syndic_article, recherches.points AS points, syndic_articles.id_syndic, syndic_articles.date, syndic_articles.descriptif, syndic_articles.titre, syndic_articles.id_syndic_article FROM spip_syndic_articles AS `syndic_articles`, spip_recherches AS `recherches` INNER JOIN spip_syndic AS L1 ON (L1.id_syndic = syndic_articles.id_syndic) WHERE (syndic_articles.statut = 'publie') AND recherches.id=syndic_articles.id_syndic_article AND (recherche='3e19a1793cfb8a67') AND (L1.statut = 'publie') GROUP BY syndic_articles.id_syndic_article,syndic_articles.id_syndic ORDER BY points DESC
Champ 'syndic_articles.id_syndic' inconnu dans on clause
</BOUCLE_Syndications>

* RealET tapuscrivait, le 03/02/2008 21:54:

Bonsoir,

Sur la boucle suivante dans le squelette SoyezCreateurs :
<B_Syndications>
02 <h2>#ANCRE_PAGINATION<:ecrire:titre_syndication:></h2>
03 <ul>
04 <BOUCLE_Syndications(SYNDIC_ARTICLES) {recherche} {par points} {inverse} {pagination 25}{!lang_select}>
05 <li><a href="[(#ID_SYNDIC|generer_url_site|parametre_url{'id_syndic_article',#ID_SYNDIC_ARTICLE})]" title="[(#DATE) - ][(#DESCRIPTIF|supprimer_tags|attribut_html)]">[(#TITRE|supprimer_tags)]</a> : [(#DATE|nom_jour)] [(#DATE|affdate)]</li>
06 </BOUCLE_Syndications>
07 </ul>
08 [<p class="pagination">(#PAGINATION)</p>]
09 [(#SET{nbelementstrouves,#GET{nbelementstrouves}|plus{#GRAND_TOTAL}})]
10 </B_Syndications>

Qui se compile en :
SELECT syndic_articles.id_syndic_article, recherches.points AS points, syndic_articles.id_syndic, syndic_articles.date, syndic_articles.descriptif, syndic_articles.titre, syndic_articles.id_syndic_article
03 FROM spip_syndic_articles AS `syndic_articles`, spip_recherches AS `recherches`
04 INNER JOIN spip_syndic AS L1 ON (L1.id_syndic = syndic_articles.id_syndic)
05 WHERE (syndic_articles.statut = 'publie')
06 AND recherches.id=syndic_articles.id_syndic_article
07 AND (recherche='3e19a1793cfb8a67')
08 AND (L1.statut = 'publie')
09 GROUP BY syndic_articles.id_syndic_article,syndic_articles.id_syndic
10 ORDER BY points DESC

J'ai l'erreur suivante :
<BOUCLE_Syndications>()
Erreur SQL
syndic_articles.id_syndic_article, recherches.points AS points, syndic_articles.id_syndic, syndic_articles.date, syndic_articles.descriptif, syndic_articles.titre, syndic_articles.id_syndic_article FROM spip_syndic_articles AS `syndic_articles`, spip_recherches AS `recherches` INNER JOIN spip_syndic AS L1 ON (L1.id_syndic = syndic_articles.id_syndic) WHERE (syndic_articles.statut = 'publie') AND recherches.id=syndic_articles.id_syndic_article AND (recherche='3e19a1793cfb8a67') AND (L1.statut = 'publie') GROUP BY syndic_articles.id_syndic_article,syndic_articles.id_syndic ORDER BY points DESC
Champ 'syndic_articles.id_syndic' inconnu dans on clause
</BOUCLE_Syndications>

J'ai trouvé l'erreur dans la requête :
03 FROM spip_syndic_articles AS `syndic_articles`, spip_recherches AS `recherches`

Il faut inverser les 2 tables pour que le INNER JOIN qui suit soit correctement géré par MySQL :
03 FROM spip_recherches AS `recherches`, spip_syndic_articles AS `syndic_articles`