Lie une requête SQL
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()
.
Exemple 56-1. 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.
Exemple 56-2. 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();
}
?> |
|