SPIP - Lister toutes les tables et leurs entrées
Frameworks
Catégorie
| 6
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 18 novembre 2019 à 14:51, par Teddy Payet
En réponse à : Plugin « Info SPIP »
# Le 18 novembre 2019 à 14:17, par Rakoto Terminaor
En réponse à : Plugin « Info SPIP »
# Le 19 septembre 2019 à 17:15, par spipfactory
En réponse à : Lister les pages de configuration
# Le 14 août 2019 à 21:16, par Neomars
En réponse à : MagicMirror², un miroir qui vous veut du bien.
# Le 13 mars 2019 à 17:42, par Manu
En réponse à : MagicMirror², on recommence depuis le début
# Le 5 mars 2019 à 10:46, par Teddy Payet
En réponse à : MagicMirror², on recommence depuis le début