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

Reply via email to