Exemple - Simple

Exemple - Simple – Récupération rapide de données depuis une table de base de données

Description

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() .

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(); 
}
?>