Sur un site récemment migré en spip4.0.4 par spip_loader, on a ce warning
1 Erreur SQL HY000 / 1
no such column: rubriques.id_rubrique
SELECT L9.id_objet, L9.id_objet AS id_rubrique FROM spip_mots_liens AS 'L9'
INNER JOIN spip_mots_liens AS L8 ON ( L8.id_objet = rubriques.id_rubrique AND L8.objet='rubrique')
INNER JOIN spip_mots_liens AS L7 ON ( L7.id_objet = rubriques.id_rubrique AND L7.objet='rubrique')
INNER JOIN spip_mots_liens AS L6 ON ( L6.id_objet = rubriques.id_rubrique AND L6.objet='rubrique')
INNER JOIN spip_mots_liens AS L5 ON ( L5.id_objet = rubriques.id_rubrique AND L5.objet='rubrique')
INNER JOIN spip_mots_liens AS L4 ON ( L4.id_objet = rubriques.id_rubrique AND L4.objet='rubrique')
INNER JOIN spip_mots_liens AS L3 ON ( L3.id_objet = rubriques.id_rubrique AND L3.objet='rubrique')
INNER JOIN spip_mots_liens AS L2 ON ( L2.id_objet = rubriques.id_rubrique AND L2.objet='rubrique')
INNER JOIN spip_mots_liens AS L1 ON ( L1.id_objet = rubriques.id_rubrique AND L1.objet='rubrique')
WHERE (L1.objet = 'rubrique')
AND (L1.id_mot = 0) AND (L2.objet = 'rubrique') AND (L2.id_mot = 0)
AND (L3.objet = 'rubrique') AND (L3.id_mot = 0) AND (L4.objet = 'rubrique')
AND (L4.id_mot = 0) AND (L5.objet = 'rubrique') AND (L5.id_mot = 0)
AND (L6.objet = 'rubrique') AND (L6.id_mot = 0) AND (L7.objet = 'rubrique')
AND (L7.id_mot = 0) AND (L8.objet = 'rubrique') AND (L8.id_mot = 0) AND (L9.objet = 'rubrique')
AND (L9.id_mot = 0) AND (L9.id_objet NOT IN (0)) GROUP BY L9.id_objet
/srv/data/web/vhosts/www.cinecure.be/htdocs/ecrire/public/composer.php calculer_select(){ sql_select(); } 954
Quelqu’un peut-il m’expliquer ce que ça veut dire car je n’ai pas les compétences requises pour comprendre.
C’est un site sous escal et c’est le bloc recherche multi-critères qui provoque ça. A noter que ce bloc ne pose pas de souci sur un autre site.
Merci de ta réponse.
Ce n’est pas mon site, j’essaie juste d’aider.
Je crois que le webmestre qui a fait migration est parti de spip3 mais je ne sais pas quelle version exactement.
En fait c’est un squelette qui permet de proposer aux webmestres utilisateurs du plugin Escal de choisir de 1 à 9 groupes de mots-clés qu’ils ont créés et d’afficher ensuite un bloc avec un moteur de recherche où le visiteur choisit 1 mot-clé de l’un ou de plusieurs de ces groupes et les rubriques et les articles correspondant sont comptés et listés.
Et on ne sait pas à l’avance quels seront ces groupes et combien de groupes seront choisis …
Bref pas si simple à mettre en œuvre, d’où la multiplication des boucles.
Après je ne vois pas ce qu’un commentaire pourrait changer et surtout je ne vois de quelle boucle tu parles.
bé si c’est assez simple, cf plus haut, le plugin Critères {mots} sert précisément à faire cela, à priori
(ya plein d’autres simplifications possibles aussi genre toutes tes boucles BOUCLE_mot_critereXX qui sont déjà conditionnées par un {si truc} du coup tout ce qui les entoure peut juste être entouré… des parties conditionnelles de boucle <B_ et </B_ au lieu de refaire des tests en balise 2 fois pour chacune + pourquoi 9 ? et si on veut 10 ? ça aurait été plus simple il me semble de juste avoir en config un sélecteur de Groupes en case à cocher ou select multiple, et les gens cochent les groupes qu’ils veulent, 2 ou 10 )
ok pour les <B_ et </B_ en effet.
Pour quoi 9 et pas 10 ? Parce qu’il fallait bien s’arrêter à un chiffre.
Pour le formulaire de config, il est fait avec saisies et je ne vois pas comment avec saisies aller chercher les groupes de mots non connus à l’avance.
Et cela ne me dit pas pourquoi ça fonctionne sur 1 site et pas sur un autre avec la même version de spip et d’escal.
Car la présence de la balise #ID_RUBRIQUE, même dans un commentaire, fera croire à SPIP que tu souhaites utiliser un élément de la table spip_rubrique et donc préservera la jointure vers celle-ci.
Ok je vais donc rajouter ce commentaire mais où dois-je le rajouter exactement ?
Ceci dit, je viens de m’apercevoir que sur le site où on a un dysfonctionnement http://www.cinecure.be/ , quand on n’est pas connecté, tout fonctionne correctement (voir le bloc « Recherche thématique » dans la colonne de gauche) et dès qu’on est connecté, l’erreur indiquée dans le premier post apparaît. Etonnant, non ?
Trouvé !!
En remontant le « > » de fermeture des boucles select_rub et select_art en fin de ligne précédente et en mettant le commentaire proposé, l’erreur disparait.
Ouf et merci pour votre aide.