Finalement, j'ai modifié un peu la structure qui me semble un peu mieux comme ça :

Array
(
    [cols] => Array
        (
            [0] => Array
                (
                    [name] => Nom
                    [search_ID] => 1
                    [datatype] => itemlink
                )

            [1] => Array
                (
                    [name] => Entité
                    [search_ID] => 80
                    [datatype] => dropdown
                )

            [2] => Array
                (
                    [name] => Statut
                    [search_ID] => 31
                    [datatype] => dropdown
                )

            [3] => Array
                (
                    [name] => Fabricant
                    [search_ID] => 23
                    [datatype] => dropdown
                )

            [4] => Array
                (
                    [name] => Numéro de série
                    [search_ID] => 5
                    [datatype] => string
                )

            [5] => Array
                (
                    [name] => Type
                    [search_ID] => 4
                    [datatype] => dropdown
                )

            [6] => Array
                (
                    [name] => Modèle
                    [search_ID] => 40
                    [datatype] => dropdown
                )

            [7] => Array
                (
                    [name] => Système d'exploitation
                    [search_ID] => 45
                    [datatype] => dropdown
                )

            [8] => Array
                (
                    [name] => Lieu
                    [search_ID] => 3
                    [datatype] => dropdown
                )

            [9] => Array
                (
                    [name] => Dernière modification
                    [search_ID] => 19
                    [datatype] => datetime
                )

            [10] => Array
                (
                    [name] => Usager
                    [search_ID] => 17
                    [datatype] => string
                )

            [11] => Array
                (
                    [name] => FusInv - Last inventory
                    [search_ID] => 5150
                    [datatype] => datetime
                )

            [12] => Array
                (
                    [name] => IP
                    [search_ID] => 20
                    [datatype] =>
                )

        )

    [rows] => Array
        (
            [0] => Array
                (
                    [hidden] => Array
                        (
                            [currentuser] => glpi
                            [id] => 36
                        )

                    [visible] => Array
                        (
                            [0] => orditest-5290ed
                            [0_2] => 36
                            [1] => Entité racine
                            [2] =>
                            [3] => innotek GmbH
                            [4] =>
                            [5] =>
                            [6] => VirtualBox
                            [7] => Microsoft Windows XP Professionnel
                            [8] =>
                            [9] => 2012-10-10 21:49:29
                            [10] => ddurieux@ORDITEST-5290ED
                            [11] =>
                            [12] =>
                        )

                )

            [1] => Array
                (
                    [hidden] => Array
                        (
                            [currentuser] => glpi
                            [id] => 34
                        )

                    [visible] => Array
                        (
                            [0] => port004
                            [0_2] => 34
                            [1] => Entité racine
                            [2] =>
                            [3] => TOSHIBA
                            [4] => XA201220H
                            [5] => Notebook
                            [6] => Satellite R630
                            [7] => freebsd
                            [8] =>
                            [9] => 2012-10-10 06:37:00
                            [10] => ddurieux
                            [11] =>
[12] => 10.0.0.1$$106$$$$fe80::1$$103$$$$127.0.0.1$$104
                        )

                )

        )

)



Est-ce que celà vous parait bien?


David
++



On Thu, 11 Oct 2012 18:33:12 +0200, David DURIEUX wrote:
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 :



[...]


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


_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to