You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2020-02-13 16:21:34

olipi2017
Member
Registered: 2017-11-03
Posts: 9

Rapport personnalisé GLPI

Bonjour à tous

je travail sur la version 9.2.2 de GLPI. Je voudrais créer un rapport qui va me permettre d'afficher les ordinateurs (nom de l'ordinateur, le modele, le numéro de série, l'entité, le nom et prenom de l'utilisateur, l'os et sa version, la mémoire RAM, le disque dur, le processeur et l'imprimante ratachée). Mais à l'exécution de mon code, j'ai une erreur suivante: Parse error: syntax error, unexpected end of file in C:\wamp64\www\glpi\plugins\reports\report\listequipmentbyentity\Listequipmentbyentity.php on line 74.
je ne comprends pas pourquoi.
Voici mon code:

<?php
$USEDBREPLICATE         = 1;
$DBCONNECTION_REQUIRED  = 0;

include ("../../../../inc/includes.php");
//TRANS: The name of the report = List of equipments by Entity
$report = new PluginReportsAutoReport(__('Listequipmentsbyentity_report_title', 'reports'));

$dbu = new DbUtils();
//Définition des colonnes de l'affichage
$report->setColumns(array(new PluginReportsColumn('Nom','Nom'),
                     new PluginReportsColumn('Désignation','Désignation'),
                     new PluginReportsColumn('Serial','Serial'),
                     new PluginReportsColumn('Type','Type'),
                     new PluginReportsColumn('Nom utilisateur','Nom utilisateur'),
                     new PluginReportsColumn('Prénom utilisateur','Prénom utilisateur'),
                     new PluginReportsColumn('Imprimante','Imprimante'),
                     new PluginReportsColumn('Système exploitation','Système exploitation'),
                     new PluginReportsColumn('Version os','Version os'),
                     new PluginReportsColumn('Disque dur','Disque dur'),
                     new PluginReportsColumn('RAM','RAM'),
                     new PluginReportsColumn('Processeur','Processeur')));
                     
           
//Exécution de late requete
$query = "SELECT glpi_computers.name AS Nom, glpi_computermodel.model AS Désignation,glpi_computers.serial AS Serial,glpi_computers.type AS Type,glpi_users.realname AS Nom utilisateur,
                 glpi_users.firstname AS Prénom utilisateur,glpi_printers.name AS Imprimante,glpi_computers.os AS Système exploitation,glpi_computers.os_version AS Version OS,glpi_computerdisks.totalsize AS Disque dur,
                 glpi_items_devicememories.size AS RAM,glpi_deviceprocessors.designation AS Processeur
          FROM  glpi_computers,glpi_computermodel,glpi_computerdisk,glpi_users,glpi_items_devicememories,glpi_computers_items
                       JOIN glpi_computermodel ON glpi_computermodel.id=glpi_computermodel_id
                       JOIN glpi_computerdisks ON glpi_computerdisk.computers_id=glpi_computers.id
                       JOIN glpi_users ON glpi_users.id=glpi_computer.users_id
                       JOIN glpi_items_devicememories ON glpi_items_devicememories.items_id=glpi_computers_items_id
                       JOIN glpi_entities`ON glpi_entities.id=glpi_computerdisk.entities_id
                      
                  
                   
          ORDER BY glpi_computers.name;

$report->setGroupBy('entity');
$report->setSqlRequest($query);
$report->execute();

Je sollicite de l'aide et toutes mes excuses pour le dérangement.
Merci pour votre compréhension

Offline

#2 2020-02-13 17:09:21

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: Rapport personnalisé GLPI

il vous manque un double quote "  après la clause order by


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#3 2020-02-14 10:47:51

olipi2017
Member
Registered: 2017-11-03
Posts: 9

Re: Rapport personnalisé GLPI

Merci.
quand j'ai appliqué la correction, il m'affiche pas d'élément. Je pense que le problème doit se trouver dans ma requête.

Offline

#4 2020-02-14 11:17:31

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: Rapport personnalisé GLPI

passez en mode debug et regardez la liste des requêtes, vous y trouverez plusieurs erreurs :

il y a une quote après    JOIN glpi_entities`

si vous faites des jointures ne rajoutez pas la liste des tables dans le from


quand  l'alias 'Prénom utilisateur' est en 2 mots mettez le entre simple quote


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#5 2020-02-14 11:19:28

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: Rapport personnalisé GLPI

mettez u s à la fin de la table Table 'glpi.glpi_computermodels'


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#6 2020-02-14 11:29:35

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: Rapport personnalisé GLPI

vous avez demandé le nom de l'imprimante  mais la table des imprimante n'est pas jointe
faites une jointure externe gauche (en passant pas une table intermédiaire)

qu'est ce qui se passe si pas d'imprimante ?,=> ligne vide
qu'est ce qui se passe si plusieurs imprimantes sur le PC ? plusieurs ligne
faites une jointure externe gauche


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#7 2020-02-14 14:24:28

olipi2017
Member
Registered: 2017-11-03
Posts: 9

Re: Rapport personnalisé GLPI

Merci
J'apporte les modifications et je vous reviens

Offline

Board footer

Powered by FluxBB