Pour récupérer les données que la grille de données affichera, vous pouvez commencer par passer une requête SQL simple à la méthode bind() .
Utilisation d'une requête SQL en tant que source de données
<?php
require 'Structures/DataGrid.php';
// Instanciation de la grille de données
$datagrid =& new Structures_DataGrid();
// Mise en place de la connexion à la base de données
$options = array('dsn' => 'mysql://user:password@host/db_name');
// Lie une requête SQL basique en tant que source de données
$test = $datagrid->bind('SELECT * FROM my_table', $options);
// Affiche l'erreur de liage s'il y en a
if (PEAR::isError($test)) {
echo $test->getMessage();
}
// Affichage de la grille de données avec le rendu par défaut (Tableau HTML)
$test = $datagrid->render();
// Affiche l'erreur de rendu s'il y en a
if (PEAR::isError($test)) {
echo $test->getMessage();
}
?>
Si vous êtes familier avec le langage SQL, vous trouverez certainement plusieurs façons d'adapter l'exemple ci-dessous à vos besoins, en utilisant des requêtes plus complexes.
Vous pouvez également paginer vos enregistrements avec la fonctionnalité de pagination automatique, tel que montré ci-dessous. Cette fonctionnalité ajoute de façon transparente la clause LIMIT à votre requête SQL, fournissant des accès optimisés à la base de données.
Pagination automatique
<?php
require 'Structures/DataGrid.php';
// 10 enregistrements par page
$datagrid =& new Structures_DataGrid(10);
// Configuration de votre source de données
$options = array('dsn' => 'mysql://user:password@host/db_name');
$test = $datagrid->bind("SELECT * FROM my_table", $options);
if (PEAR::isError($test)) {
echo $test->getMessage();
}
// Affichage de la grille de données avec le rendu par défaut (Tableau HTML)
$test = $datagrid->render();
if (PEAR::isError($test)) {
echo $test->getMessage();
}
// Affichage des liens HTML pour la pagination
$test = $datagrid->render(DATAGRID_RENDER_PAGER);
if (PEAR::isError($test)) {
echo $test->getMessage();
}
?>