SPIP - Lister toutes les tables et leurs entrées

En discutant sur l’IRC de #spip, Charles2 désirait lister une table et toutes ses entrées sur une page. Voici un bout de code qui permet de le faire.
Voici tout simplement le code qui vous permettra de faire cela :
<h1>Liste des tables et leurs valeurs</h1>
<div class="nettoyeur"> </div>
<div class="pied">
[<pre>
(#ENV**|unserialize|foreach)
</pre>]
<B_lestables>
<form action="#SELF" method="get">
[(#SELF|parametre_url{'table',''}|form_hidden)]
<select name="table">
<BOUCLE_lestables(DATA) {source sql, SHOW TABLE STATUS}>
<option value="#VALEUR{Name}"[(#ENV{table}|=={#VALEUR{Name}}|oui) selected="selected"]>#VALEUR{Name}</option>
</BOUCLE_lestables>
</select>
<input type="submit" value="ok"/>
</form>
</B_lestables>
<B_table>
[<h3>(#GRAND_TOTAL) enregistrement(s) pour #ENV{table}</h3>]
#ANCRE_PAGINATION
<table>
<BOUCLE_table(DATA){source sql, SELECT * FROM #ENV{table}} {pagination 10}>
<B_thead>
<thead>
<tr>
<BOUCLE_thead(DATA){source table, (#VALEUR|array_keys)}>
[<th>(#VALEUR|unique)</th>]
</BOUCLE_thead>
</tr>
</thead>
</B_thead>
<B_valeur>
<tr>
<BOUCLE_valeur(DATA){source table, #VALEUR}>
<td>[(#VALEUR|sinon{' '})]</td>
</BOUCLE_valeur>
</tr>
</B_valeur>
</BOUCLE_table>
</table>
[<p class="pagination">(#PAGINATION)</p>]
</B_table>
[<p>Aucun enregistrement dans (#ENV{table})</p>]
<//B_table>
</div>
Explications
- La boucle "lestables" va créer un select contenant toutes les tables connues par SPIP dans sa base de données ;
- La boucle "table" va lancer un requête SQL pour avoir toutes ses entrées en base ;
- La boucle "thead" s’occupe d’afficher dans un… thead les noms des champs ;
- La boucle "valeur" affiche… roulement de tambours… les valeurs de la table. ;-)
C’est bô SPIP !
Encore plus beau
En SPIP 2, nous avions la page ?page=table:nom_de_la_table
accessible depuis l’espace public ET en étant authentifié.
Encore mieux en SPIP 3 grâce au plugin Vertèbres (intégré à la dist). Il vous suffit d’aller sur la page ecrire/?exec=vertebres
et de cliquer sur la table qui vous intéresse. Et Ô magie ! Un beau tableau apparaît.
Tout cela est expliqué ici : http://www.spip.net/fr_article4453....
Ils sont bô les core-dev de SPIP !
Derniers commentaires
# Le 12 marsà 05:39, par BijouLePou
En réponse à : Je suis passé à SPIP 4.0
# Le 10 janvierà 17:41, par julien
En réponse à : Je suis passé à SPIP 4.0
# Le 14 septembre 2021 à 13:12, par Teddy Payet
En réponse à : Je suis passé à SPIP 4.0
# Le 14 septembre 2021à 12:56, par sonotone
En réponse à : Je suis passé à SPIP 4.0
# Le 9 septembre 2021à 11:23, par Cédric
En réponse à : MagicMirror², ma configuration personnalisée
# Le 28 mars 2021 à 20:05, par Teddy Payet
En réponse à : Installer Homebrew sur Mac OSX