You are not logged in.
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
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
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
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
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
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
Merci
J'apporte les modifications et je vous reviens
Offline