Bonjour,

Je suis désolé mais ce meme message à été déplacé dans cette partie du forum mais je n'arrive pas a y répondre pour plus de détail. Je dois souligner que je suis vraiment néophite dans la gestion de requête SQL et de PHP.

Je dois creer une requete sql dans un fichier PHP afin de faire un rapport.
J'ai trois tables:

table glpi.computers
-id
-computertypes_id
-locations_id
- ...

table glpi.computertypes
-id
-name
-...

table glpi.locations
-id
-completename
-...

je souahaite faire un "tri" du nombre de 'glpi.computer' par "glpi.computertypes" -> name
par "glpi.locations" -> completename

par exemple:
locations - type - nombre
paris - pc - 25
paris - laptop - 12
marseille - pc -10

Voici mon fichier PHP après travail sur la partie Nombre de PC par lieu j'ai besoins d'aide pour le modifier afin de l'avoir par type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$USEDBREPLICATE= 1;
$DBCONNECION_REQUIRED= 0;
 
define('GLPI_ROOT', '../../../..');
include(GLPI_ROOT."/inc/includes.php");
 
$report= new PluginReportsAutoReport();
 
 
$report->setColumns(array(new PluginReportsColumn('entity', $LANG['entity'][0]),
                          new PluginReportsColumn('location', $LANG['common'][15]),
                          new PluginReportsColumnInteger('computernumber',$LANG['Menu'][0])));
 
$query = "SELECT a.`entity`, a.`location`, b.`computernumber`, a.`id`
                                  FROM (SELECT `glpi_entities`.`completename` AS entity,
                                               `glpi_locations`.`completename` AS location,
                                               `glpi_locations`.`id` AS id
                                        FROM `glpi_locations`
                                        LEFT JOIN `glpi_entities`
                                          ON (`glpi_locations`.`entities_id`=`glpi_entities`.`id`) ".
                                        getEntitiesRestrictRequest(" WHERE ", "glpi_locations").") a
                                  LEFT OUTER JOIN (SELECT count(*) AS computernumber,
                                                          `glpi_computers`.`locations_id` AS id
                                                   FROM `glpi_computers`
                                                   WHERE is_deleted=0 AND is_template=0
                                                   ".getEntitiesRestrictRequest(" AND ", "glpi_computers")."
                                                   GROUP BY `glpi_computers`.`locations_id`) b
                                       ON (a.id = b.id)";
 
$report->setGroupBy("entity");					  
$report->setSqlRequest($query);			  
$report->execute();						  
 
?>