comment peut-on faire la jointure entre l'id_article et l'id_objet
en l'état elle fonctionne avec {id_objet=40}
en revanche ça ne fonctionne plus avec {id_objet=id_article} ou {id_objet==id_article}
comment peut-on faire la jointure entre l'id_article et l'id_objet
en l'état elle fonctionne avec {id_objet=40}
en revanche ça ne fonctionne plus avec {id_objet=id_article} ou {id_objet==id_article}
une idée ?
cordialement
Pas sur mais {id_objet=#ID_ARTICLE} risque de fonctionner.
comment peut-on faire la jointure entre l'id_article et l'id_objet
en l'état elle fonctionne avec {id_objet=40}
en revanche ça ne fonctionne plus avec {id_objet=id_article} ou {id_objet==id_article}
une idée ?
cordialement
Pas sur mais {id_objet=#ID_ARTICLE} risque de fonctionner.
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
le resultat avec var_mode=debug est ok pour la boucle article :
--------
SELECT articles.id_article, articles.lang
3 FROM spip_articles AS `articles`
4 INNER JOIN spip_mots_articles AS L1 ON ( L1.id_article = articles.id_article )
5 INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot )
6 WHERE (L2.titre = 'alea')
7 AND (articles.statut = 'prepa')
8 GROUP BY articles.id_article
1 sur 1
id_article => 40
lang => fr
------
ça coince avec la boucle documents, la jointure se fait bien mais c'est le statut prepa qui bloque :
------
SELECT rand() AS alea, documents.fichier, documents.id_document
03 FROM spip_documents AS `documents` LEFT JOIN spip_documents_liens AS l
04 ON documents.id_document=l.id_document
05 LEFT JOIN spip_articles AS aa
06 ON (l.id_objet=aa.id_article AND l.objet='article')
07 LEFT JOIN spip_breves AS bb
08 ON (l.id_objet=bb.id_breve AND l.objet='breve')
09 LEFT JOIN spip_rubriques AS rr
10 ON (l.id_objet=rr.id_rubrique AND l.objet='rubrique')
11 LEFT JOIN spip_forum AS ff
12 ON (l.id_objet=ff.id_forum AND l.objet='forum')
13
14 INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
15 WHERE ((aa.statut = 'publie') OR bb.statut = 'publie' OR rr.statut = 'publie' OR ff.statut='publie')
16 AND (documents.mode != 'vignette')
17 AND (documents.taille > 0 OR documents.distant='oui')
18 AND (L1.id_objet = 40)
19 AND (L1.objet = 'article')
20 AND (L1.vu = 'non')
21 AND (documents.extension REGEXP 'jpg')
22 GROUP BY documents.id_document,documents.id_document
23 ORDER BY alea
24 LIMIT 0,1
------
peut-on forcer le statut ?
------
15 WHERE ((aa.statut = 'publie')
------
en ((aa.statut = 'prepa')
j'ai essayé dans la boucle documents de placer {statut=prepa} mais ça passe pas, j'ai ce message d'erreur :
comment peut-on faire la jointure entre l'id_article et l'id_objet
en l'état elle fonctionne avec {id_objet=40}
en revanche ça ne fonctionne plus avec {id_objet=id_article} ou {id_objet==id_article}
bonsoir,
merci denisb,
c’est bien le critère {tout} qui annule la restriction statut=publie sur les documents
le critère {extension==jpg} ou {extension=jpg} ne modifie pas le résultat de la requête,
dans les deux cas ça marche.
cordialement
Pour ma part, le critère {tout} étant (ayany été ?) capricieux, je
préfère intégrer un {statut != pantoufle}
Excellent
Cependant, je vois pas l'intéret de {id_objet=#ID_ARTICLE}{objet=article} qui se remplace aisément par {id_article} tout simplement... Spip en théorie se débrouille comme un grand pour sa requete...