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 25 septembre à 12:01, par Teddy Payet
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation
# Le 25 septembre à 11:20, par vY
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation
# Le 21 juin à 13:49, par Teddy Payet
En réponse à : Home Assistant : Routine le matin avant l’école
# Le 21 juin à 10:47, par Teddy Payet
En réponse à : Ma domotique open source
# Le 16 juin à 17:15, par Eric
En réponse à : Ma domotique open source
# Le 7 mars à 09:43, par Jacques Pyrat
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation