Interrogation base SQL externe

Bonjour à tous,

Je me réponds à moi-même étant donné que cette fonctionnalité n’est pas du tout documentée.

Pour interroger une base MySQL externe, on la déclare dans le menu Maintenance > Maintenance technique, on indique dans la boucle le nom de le base ajoutée à l’étape précédente, suivie de deux points et du nom de la table (surtout JAMAIS de traits-d’union, que des underscore).
Ensuite, on utilise « where » et on ajoute les guillemets ((#VAL{39}|chr)) autour de la valeur à rechercher.

<BOUCLE_informationsetablissement(juliendelmas5:fr_en_annuaire){where code_commune=(#VAL{39}|chr)(#GET{CODE_COMMUNE})(#VAL{39}|chr)}>


Julien Delmas

Le 17 août 2019 à 20:56, Julien Delmas <julien.delmas@gmail.com> a écrit :

Bonjour à tous,

Une petite question car je suis bloqué. J’interroge une table MySQL externe qui est correctement déclarée dans SPIP.
J’ai fait une boucle dont la structure me semble bonne et j’obtiens une erreur peu explicite.

Avec de m’arracher les cheveux, auriez-vous une idée de mon erreur ?

Merci d’avance.

Mon code dans le squelette

<BOUCLE_informationscommune(juliendelmas5:fr-en-annuaire){Code_commune=97415}>
#SET{CODE_COMMUNE, #CODE_COMMUNE}
#SET{CODE_DEPARTEMENT, #CODE_DEPARTEMENT}
#SET{LIBELLE_DEPARTEMENT, #LIBELLE_DEPARTEMENT}
#SET{NOM_COMMUNE, #NOM_COMMUNE}
</BOUCLE_informationscommune>

L’erreur affichée par le squelette sur la page publique
1 Critère inconnu = squelettes/content/commune.html _informationscommune 8

Le contenu de ma base SQL
<PastedGraphic-1.tiff>


Julien Delmas

Bonjour

Tu peux faire plus simplement :

<BOUCLE_informationsetablissement(juliendelmas5:fr_en_annuaire)
{code_commune=#GET{CODE_COMMUNE}}>

Pour info, il existe une documentation succinte ici :

Mais il doit exister d'autres ressources, car cela fait des années que je pratique les interrogations de bases externes, et je n'ai certainement pas deviné toute seule comment faire. Je vais tâcher de les retrouver.

Florence

Le 20/08/2019 à 01:00, Julien Delmas a écrit :

Bonjour à tous,

Je me réponds à moi-même étant donné que cette fonctionnalité n’est pas du tout documentée.

Pour interroger une base MySQL externe, on la déclare dans le menu Maintenance > Maintenance technique, on indique dans la boucle le nom de le base ajoutée à l'étape précédente, suivie de deux points et du nom de la table (surtout JAMAIS de traits-d’union, que des underscore).
Ensuite, on utilise « where » et on ajoute les guillemets ((#VAL{39}|chr)) autour de la valeur à rechercher.

<BOUCLE_informationsetablissement(juliendelmas5:fr_en_annuaire){where `code_commune`=(#VAL{39}|chr)(#GET{CODE_COMMUNE})(#VAL{39}|chr)}>

--
Julien Delmas

Le 17 août 2019 à 20:56, Julien Delmas <julien.delmas@gmail.com <mailto:julien.delmas@gmail.com>> a écrit :

Bonjour à tous,

Une petite question car je suis bloqué. J’interroge une table MySQL externe qui est correctement déclarée dans SPIP.
J’ai fait une boucle dont la structure me semble bonne et j’obtiens une erreur peu explicite.

Avec de m’arracher les cheveux, auriez-vous une idée de mon erreur ?

Merci d’avance.

*_Mon code dans le squelette_*
          <BOUCLE_informationscommune(juliendelmas5:fr-en-annuaire){Code_commune=97415}>
#SET{CODE_COMMUNE, #CODE_COMMUNE}
#SET{CODE_DEPARTEMENT, #CODE_DEPARTEMENT}
#SET{LIBELLE_DEPARTEMENT, #LIBELLE_DEPARTEMENT}
#SET{NOM_COMMUNE, #NOM_COMMUNE}
</BOUCLE_informationscommune>

*_L’erreur affichée par le squelette sur la page publique_*
1Critère inconnu =squelettes/content/commune.html_informationscommune8

*_Le contenu de ma base SQL_*
<PastedGraphic-1.tiff>

--
Julien Delmas

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Florence HENRY
LESIA - CNRS / Observatoire de Paris