Je suis en train de reprendre le dev de ce ticket Je sépare donc en 3 sous fonctions (comme le propose Remi) :
$sql = constructsql(...) $data = constructdata($sql, ...) displaydata($data, ...) A la sortie de constructdata, j'ai un tableau de ce genre : Array ( [cols] => Array ( [0] => Array ( [name] => Nom [link] => ?itemtype=Computer&sort=1&order=DESC&start=0 [search_ID] => 1 [datatype] => itemlink [itemtype] => Computer ) [1] => Array ( [name] => Entité [link] => ?itemtype=Computer&sort=80&order=DESC&start=0 [search_ID] => 80 [datatype] => dropdown [itemtype] => Computer ) [2] => Array ( [name] => Statut [link] => ?itemtype=Computer&sort=31&order=DESC&start=0 [search_ID] => 31 [datatype] => dropdown [itemtype] => Computer ) [3] => Array ( [name] => Fabricant [link] => ?itemtype=Computer&sort=23&order=DESC&start=0 [search_ID] => 23 [datatype] => dropdown [itemtype] => Computer ) [4] => Array ( [name] => Numéro de série [link] => ?itemtype=Computer&sort=5&order=DESC&start=0 [search_ID] => 5 [datatype] => string [itemtype] => Computer ) [5] => Array ( [name] => Type [link] => ?itemtype=Computer&sort=4&order=DESC&start=0 [search_ID] => 4 [datatype] => dropdown [itemtype] => Computer ) [6] => Array ( [name] => Modèle [link] => ?itemtype=Computer&sort=40&order=DESC&start=0 [search_ID] => 40 [datatype] => dropdown [itemtype] => Computer ) [7] => Array ( [name] => Système d'exploitation [link] => ?itemtype=Computer&sort=45&order=DESC&start=0 [search_ID] => 45 [datatype] => dropdown [itemtype] => Computer ) [8] => Array ( [name] => Lieu [link] => ?itemtype=Computer&sort=3&order=DESC&start=0 [search_ID] => 3 [datatype] => dropdown [itemtype] => Computer ) [9] => Array ( [name] => Dernière modification [link] => ?itemtype=Computer&sort=19&order=DESC&start=0 [search_ID] => 19 [datatype] => datetime [itemtype] => Computer ) [10] => Array ( [name] => Usager [link] => ?itemtype=Computer&sort=17&order=DESC&start=0 [search_ID] => 17 [datatype] => string [itemtype] => Computer ) [11] => Array ( [name] => FusInv - Last inventory [link] => ?itemtype=Computer&sort=5150&order=DESC&start=0 [search_ID] => 5150 [datatype] => datetime [itemtype] => Computer ) [12] => Array ( [name] => IP [link] => ?itemtype=Computer&sort=20&order=DESC&start=0 [search_ID] => 20 [datatype] => [itemtype] => Computer ) ) [rows] => Array ( [0] => Array ( [currentuser] => glpi [ITEM_0] => orditest-5290ed [ITEM_0_2] => 36 [ITEM_1] => Entité racine [ITEM_2] => [ITEM_3] => innotek GmbH [ITEM_4] => [ITEM_5] => [ITEM_6] => VirtualBox [ITEM_7] => Microsoft Windows XP Professionnel [ITEM_8] => [ITEM_9] => 2012-10-10 21:49:29 [ITEM_10] => ddurieux@ORDITEST-5290ED [ITEM_11] => [ITEM_12] => [id] => 36 ) [1] => Array ( [currentuser] => glpi [ITEM_0] => port004 [ITEM_0_2] => 34 [ITEM_1] => Entité racine [ITEM_2] => [ITEM_3] => TOSHIBA [ITEM_4] => XA201220H [ITEM_5] => Notebook [ITEM_6] => Satellite R630 [ITEM_7] => freebsd [ITEM_8] => [ITEM_9] => 2012-10-10 06:37:00 [ITEM_10] => ddurieux [ITEM_11] => [ITEM_12] => 10.0.0.1$$106$$$$fe80::1$$103$$$$127.0.0.1$$104 [id] => 34 ) [2] => Array ( [currentuser] => glpi [ITEM_0] => test [ITEM_0_2] => 1 [ITEM_1] => Entité racine [ITEM_2] => [ITEM_3] => [ITEM_4] => [ITEM_5] => [ITEM_6] => [ITEM_7] => [ITEM_8] => [ITEM_9] => 2012-09-30 19:25:34 [ITEM_10] => [ITEM_11] => [ITEM_12] => [id] => 1 ) Est-ce que la sortie des data vous parait bien comme ça? Si on valide ça je peux bosser sur l'affichage ;) David ++ Le Sun, 01 Apr 2012 09:54:08 +0200 Remi Collet <fed...@famillecollet.com> a écrit: >Le 01/04/2012 08:13, MoYo a écrit : >> Le 01/04/2012 00:00, David DURIEUX a écrit : >>>> par exemple. >>>> Après la grande question sur le sujet c'est est-ce que le retour du >>>> $result SQL est satisfaisant. >>>> Sur le ticket, il est indiqué une fonction qui renvoie un tableau >>>> des données et une autre qui affiche les données. >>> Je me disait que renvoyer le $result serait plus simple que de >>> renvoyer un gros tableau (traitement pour renvoyer un array() au >>> lieu de renvoyer le $result et faire un foreach derrière). >>> >>> Dis moi ce qui te semble le mieux : tableau de donnée ou $result. >> >> Je ne me base que sur le ticket est c'est un tableau qui est >> spécifier. Après ca mérite surement discussion sur le format et >> l'organisation de celui-ci. > >L'idée c'est que le "result" permet de récupérer des données, mais qui >seront particulièrement difficile à traiter (nom des colonnes >générées). > >Si on veut un truc utilisable et générique, clairement le $result n'est >pas satisfaisant. > >Effectivement > >1/ on pourrait imaginer un split en 3 > > $sql = constructsql(...) > $data = constructdata($sql, ...) > displaydata($data, ...) > >2/ il faut spécifier le contenu du tableau > >première idée : > > [cols] > name => description > ... > [rows] > [0] > name => value > ... > [1] > ... > >Avec > name => nom dans le résultat (SQL) > description => libellé de la colonne > value => ben... value quoi > >Mais c'est probablement insuffisant >- le datatype ? (nécessaire pour l'affichage) >- le mode d'affichage (text, html, nécessaire par exemple quand on a un >lien vers un objet) >- etc (j'en oublie forcément) > >à discuter donc. > >++ > >_______________________________________________ >Glpi-dev mailing list >Glpi-dev@gna.org >https://mail.gna.org/listinfo/glpi-dev _______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev