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 2014-05-28 12:10:50

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Mon plugin - problème SQL

Bonjour à vous !

version glpi : 0.84.5

J'ai créé un plugin permettant d'éteindre/allumer/redémarrer un poste à distance par l'intermédiaire des adresses mac et nom des pc (ou ip).

Mais seulement, je n'arrive pas à récupérer tous les ordinateurs. Le problème vient de ma requête SQL car je connais très peu les dépendances entre chaque tables.

je sèche pour lier l'addresse MAC à mes ordinateurs sad

Objectif : récupérer l'adresse MAC de tout les postes inventoriés

Voici ma requête :

SELECT DISTINCT upper(NWP.mac) macaddr, C.name nom_poste
FROM glpi_networkports NWP,glpi_ipaddresses IP,glpi_computers C
WHERE IP.id=NWP.id                
AND NWP.items_id = C.id   
AND IP.binary_3 <> \'0\'
AND IP.name LIKE \'192.168%\'
;

Merci d'avance pour toute aide éventuelle.

Last edited by zac.bouvy (2014-05-28 15:26:57)

Offline

#2 2014-05-28 14:07:49

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

Re: Mon plugin - problème SQL

avec un truc comme ça ?

SELECT DISTINCT upper(`glpi_networkports`.`mac`), upper(`glpi_computers_devicenetworkcards`.`specificity`), `glpi_computers`.`name`
FROM `glpi_computers`
LEFT JOIN `glpi_computers_devicenetworkcards` ON `glpi_computers`.`id` = `glpi_computers_devicenetworkcards`.`computers_id`  
LEFT JOIN `glpi_networkports` AS glpi_networkports ON `glpi_computers`.`id` = `glpi_networkports`.`items_id` AND `glpi_networkports`.`itemtype` = 'Computer'  
WHERE `glpi_computers`.`is_deleted` = '0' AND `glpi_computers`.`is_template` = '0' AND  `glpi_networkports`.`ip` LIKE '192.168.%'

Last edited by LaDenrée (2014-05-28 14:10:40)


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#3 2014-05-28 15:09:01

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Re: Mon plugin - problème SQL

Salut et merci de me venir en aide smile

Cependant la table glpi_computers_devicenetworkcards n'existe pas dans ma base de donnée glpi !
Sais-tu comment la récupérer ? Quelles sont les données qu'elle contient ?

Last edited by zac.bouvy (2014-05-28 15:09:38)

Offline

#4 2014-05-28 15:10:57

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

Re: Mon plugin - problème SQL

d'où l'importance d'indiquer la version de glpi dans les demandes...

si la table n'existe pas il est possible de supprimer la jointure dans ma proposition.

Last edited by LaDenrée (2014-05-28 15:15:00)


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#5 2014-05-28 15:12:56

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Re: Mon plugin - problème SQL

version glpi : 0.84.5

vraiment navré..
dommage alors.. Je me demande s'il existe une table qui permet de faire le lien entre glpi_computers et glpi_networkports
Même en enlevant la jointure puisque l'ip n'éxiste pas dans ma version en tant qu'attribut de glpi_networkports

Last edited by zac.bouvy (2014-05-28 15:24:42)

Offline

#6 2014-05-28 15:22:22

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

Re: Mon plugin - problème SQL

une astuce pour retrouver les tables necessaires :
passe en mode debug, et fait une recherche d'un PC sur une adresse MAC, la requète s'affiche en dessous, il ne te restera plus qu'à analyser et faire le ménage pour garder les tables et les champs qui t'interressent.

je n'ai pas sous la main de version 84.5 pour rechercher les tables...


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#7 2014-05-28 15:25:00

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Re: Mon plugin - problème SQL

Merci ! smile je pense pouvoir m'en sortir avec ta méthode

Last edited by zac.bouvy (2014-05-28 15:26:32)

Offline

#8 2014-05-28 16:02:36

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Re: Mon plugin - problème SQL

J'arrive bien à remonter proprement tout ce que je veux. Le problème c'est que dans glpi, il associe plusieurs adresse MAC à un seul id de poste, ce qui est paradoxalement impossible..

Exemple :


Du coup lorsque j'envois un packet magic, j'ai plusieurs adresses mac a suivre donc c'est pas top big_smile

Je vais couper ma variable avec php mais c'est dommage

Last edited by zac.bouvy (2015-04-22 14:50:30)

Offline

#9 2014-05-28 16:14:15

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

Re: Mon plugin - problème SQL

L'adresse Mac est lié à la carte réseau, non ? avec une carte ethernet et du wifi on arrive à 2 adresses mac pour une machine non ?
reste à selectionner la bonne pour eteindre le PC.
la requète doit remonter "toutes les adressesMac de la machine dont une des adresse ip est 172..."

en rédigeant "toutes des adresses mac des connexions dont l'ip est 172..." c'est à dire rechercher la carte reseau pas le PC ça devrait limiter ...

Last edited by LaDenrée (2014-05-28 16:14:34)


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#10 2014-05-28 16:32:43

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Re: Mon plugin - problème SQL

Oui tu as raison. Je galère à trouver... car j'ai pas d'ip qui commencent par 172...

J'ai plutôt des choses comme ça  hmm :

Last edited by zac.bouvy (2015-04-22 14:50:46)

Offline

#11 2014-05-28 16:45:50

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

Re: Mon plugin - problème SQL

ben voilà : si on regarde il n'y a qu'une adresse mac par machine correspondant à l'IP 192.168.xxx.xxx
reste à trouver le lien entre les tables qui stockent ces infos et le lien avec le PC.


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#12 2014-05-28 16:50:43

zac.bouvy
Member
Registered: 2014-05-21
Posts: 17

Re: Mon plugin - problème SQL

Oui tout à fait smile
Merci pour le temps que tu m'as consacré !

Offline

Board footer

Powered by FluxBB