Lister des données avec mlam ?
Introduction
Le but principal de mlam est d'éditer le contenu de bases de données avec des interfaces html. Néanmoins,
il faut un moyen d'accéder aux données, et développer des pages listant les données (éventuellement
sur plusieurs pages quand il y a trop d'enregistrements) ou même créer un outil de recherche s'avère
souvent fastidieux. Heureusement (!), toutes ces tâches peuvent être effectuées par mlam, avec pas mal
de possibilités.
Fonctionalités
Avec l'outil d'administration de mlam, sur la page de création d'une structure d'édition, un lien permet
de basculer sur une page pour régler l'affichage listant les données. Cette page contient une structure
contenant tous les champs de la table courante. On peut spécifier à ce niveau les données qui seront
affichées pour chaque enregistrement, le nom donnée à ces données, l'ordonnancement des enregistrements,
et les champs utilisés comme moteur de recherche. Mis à part au moins un champs à afficher, toutes les
données sont optionnelles. Pour mettre en oeuvre l'affichage de ce listing, il suffit d'une page .php
contenant au moins les lignes suivantes :
<?session_start();?>
<html>
<head>
</head>
<body>
<form method=post action='votre_fichier.php'>
<?
require("mlam_tables_def.php");
mlam_form("nom_de_structure",$id);
?>
<input class=button type=submit value='Valider les changements'>
</form>
</body>
</html>
En fait, c'est exactement le même fichier que pour l'édition d'un enregistrement. La seule différence se
fait dans l'appel de cette url. Si le paramètre id n'est pas présent, on liste les données. Si
id a une valeur, c'est l'enregistrement courant qui est affiché. Donc, pour lister les données,
il suffit d'appeler "http://votresite/votre_fichier.php", et voila !
Outil d'administration
Il se présente comme suit :
Edition des paramètres pour lister ou chercher des données
Champs listés
Les données apparaissent ligne par ligne. Chaque ligne affiche les champs sélectionnés. Pour choisir
le contenu d'un champ, il suffit de sélectionner l'option Affiché ?. Vous avez aussi la possibilité
de choisir l'ordre d'affichage des données (Position). Ici, designation sera affiché avant
datePremiereEdition. Enfin, il est préférable d'indiquer à quoi correspond ce champ.
Le résultat ressemblera à quelque-chose comme ça :
Intitulé | Date de première édition |
nom 1 | date 1 |
nom 2 | date 2 |
Dans l'outil d'administration de mlam, on peut définir le nombre maximum de données affichées à chaque
listing de données. Ce nombre est aussi utilisé ici (pour éviter des pages avec des centaines
d'enregistrement). Quand la limite est dépassée, mlam propose automatiquement des liens vers les prochains
enregistrements (ou précédent suivant les cas).
Trier les données
Cette fonction est optionnelle. On peut utiliser autant de champs que voulu pour trier les données qui
seront affichées. Il suffit de sélectionner ASC ou DESC dans la colonne Tri ? pour chaque champ
désiré. ASC signifie tri ascendant, et DESC descendant. Ensuite, la colonne Ordre de tri permet
d'indiquer les priorités à utiliser dans le processus de tri (comme dans une requête sqlà. Dans le cas
présenté ici, la liste est ordonnée de façon ascendante par le champ designation. La requête sql
correspondante contient "order by designation asc".
Outil de recherche
Si la colonne Recherche ? est sélectionnée pour au moins un champ, un moteur de recherche sera
disponible dans la page listant les données. Il permet à l'utilisateur de rechercher des données pour
chaque champ sélectionné. Le moteur interne de mlam s'adapte au différents types de données. Son interface
est la suivante :
Pour le format date, les données soumises sont vérifiées par mlam avant de les utiliser.
Note : si l'utilisateur renseigne plus d'une option de recherche, les données retournées satisferont à
toutes les indications données.