[Résolu] Transcription boucle squelette de spip3.0 vers 3.2 (jointure tables mysql)

Bonjour, j’ai une boucle qui fait une jointure entre 2 tables supplementaires de la base spip.

<BOUCLE_respgroupes(t_responsabilites t_groupes){id_client}{par code_groupe}>
		<li>#CODE_GROUPE (#NOM_GROUPE)</li>
</BOUCLE_respgroupes>

la boucle fonctionne tres bien en 3.0 mais plante en 3.2:

Erreur SQL 1054

Unknown column ‹ code_groupe › in ‹ order clause ›
SELECT t_responsabilites.id_groupe FROM t_responsabilites AS t_responsabilites WHERE (t_responsabilites.id_client = 1) ORDER BY code_groupe

/home/gesloc/new.gesloc.ca/ecrire/public/composer.php [calculer_select(){ sql_select(); }]

(http://new.gesloc.ca/?var_mode=debugcalculer_select(){sql_select();}&var_mode_affiche=boucle) 1031

je joins un schema de la base (le nom des tables est differents sur l’image)

je prevois de passer dans la version actuelle de spip mais j’ai besoin de decomposer pour upgrader depuis php 5.7…

Avez vous une idée?
Merci à l’avance

essaie de préciser explicitement la table où se trouve code_groupe dans ton critère par.

Un truc comment {par t_groupes.code_groupe}

le message d’erreur est passé de :

1 Erreur SQL 1054
Unknown column ‹ code_groupe › in ‹ order clause ›
SELECT t_responsabilites.id_groupe FROM t_responsabilites AS t_responsabilites WHERE (t_responsabilites.id_client = 1) ORDER BY code_groupe /home/gesloc/new.gesloc.ca/ecrire/public/composer.php calculer_select(){ sql_select(); } 1031

à:

Critère inconnu par t_groupes.code_groupe squelettes/inc-groupes2session.html _respgroupes 21

ca se simplifie :slight_smile:

la jointure n’est pas faite tu remarquera. C’est là que ca tique…

Parfois on aimerait bien que l’« IA » de spip loge les traces de son « raisonnement » quand il fait ou ne fait pas une jointure plutôt ou pas qu’une autre ou pas.

Salut à tous,
j’ai essayé au hasard de changer l’ordre des tables dans la requete et c’est ok
En tout cas merci pour ton aide Maieul, j’etais à 2 doigts de laisser tomber…

<BOUCLE_respgroupes( t_groupes t_responsabilites){id_client}{par code_groupe}>

à la place de
<BOUCLE_respgroupes( t_responsabilites t_groupes){id_client}{par code_groupe}>

ouf! :slight_smile: