Bonjour,

Je genere des tableaux avec Pear à partir d'une base de données mysql.

config
php 4
Version du serveur: 5.0.27-community-nt
phpMyAdmin - 2.9.2

Pour cela j'utilise le code qui suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
$requete = "SELECT  id_offre_materiel, COUNT(id_offre_materiel) AS nb_demande FROM correspondance_potentielle GROUP BY id_offre_materiel";
 
$champs = array("id_offre_materiel"=>"OFFRE", "nb_demande"=>"Nombre de demande");
 
$DSN = "mysql://root:root@localhost/maBase";
$database =& MDB2::connect($DSN,array('debug' => 8,'result_buffering' => false)); 
$datagrid =& new Structures_DataGrid_Extension($n); /* n enregistrements par page */
 
/* Couplage */
$datagrid->bind($requete, array('dbc' => &$database));
$database->disconnect();
$table = new HTML_Table();
 
/* Génération des colonnes (on omet "id") : ( a faire avant la pagination ) */
$datagrid->generateColumns($champs);
/* On utilise fill() à la place de render() pour remplir le tableau avec les données : */
$datagrid->fill($table);
/* Affichage des liens de pagination */
$pagination = $datagrid->render("Pager");
$table ->display();
J'obtiens l'erreur suivante :
Fatal error: Unsupported operand types in C:\wamp\php\PEAR\Structures\DataGrid\Renderer.php on line 500

J'ai testé la requete directement sur la base, elle fonctionne.
Mon objet datagrid comprend bien les reponses à la requete.
A la ligne 500 de Renderer.php j'ai un attribut de renderer : _totalRecordsNum de type
object(mdb2_error) : ["message"]=> string(25) "MDB2 Error: not supported" au lieu d'être un nombre.

PS : Les requetes plus simple du type "SELECT id_offre_materiel FROM correspondance_potentielle" ne generent pas d'erreur (je sais pas si ça peut aider)

Merci d'avance pour votre aide