You are not logged in.
Pages: 1
Topic closed
Bonjour,
Je tente actuellement de faire s'afficher l'entité correspondante à chacune de mes tâches planifié sur le calendrier.
J'ai donc ajouté dans le fichier ticketplanning.class.php la variable de référence de l'objet necessaire.
$interv[$data["begin"]."$$$".$i]["entity"]=$job->fields["entities_id"];
Ensuite je l'appelle plus bas (ligne 505) comme ceci:
echo "<br>- ".$val["entity"];
Fort bien, ceci m'affiche bien l'ID de l'entité concernée.
Par contre j'ai beau avoir créé et appelé une fonction dans tickettask.class.php (ou dans entity.class.php):
static function getEntityName($val) {
global $DB;
$query .= "SELECT `name` AS name
FROM `glpi_entities`.`name`
WHERE `id` = ".$value;
$resultentname = $DB->query($query);
return $resultentname;
}
Et l'appeler comme ceci:
echo "<br>- ".Ticket::getEntityName($val["entity"]);
Rien à faire, pas moyen d'obtenir le nom de l'entité à la place de son ID.
Je pense qu'il faut faire une jointure, mais comment ?
Ou alors il y a une fonction (global ?) prédéterminée pour appeler le nom de l'entité ?
A savoir que je cherche également à obtenir l'adresse du device concerné sur la même tâche.
Un peu d'aide serait le bienvenue
Merci
Last edited by webmastergreg (2010-10-15 16:10:55)
GLPI 10.0.7 / LSWS Enterprise 6.1.2 + PHP 8.1.25 with Zend OPcache + MariaDB 10.3.39 / CENTOS 7.9
Offline
FROM `glpi_entities`.`name`
La table `glpi_entities`.`name` n'existe pas. Essayez avec `glpi_entities`
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour,
oui pardon, je n'ai pas mis la bonne requête, mauvais copié collé.
Ceci dit c'est la même chôse, le nom de l'entité n'est pas récupéré.
GLPI 10.0.7 / LSWS Enterprise 6.1.2 + PHP 8.1.25 with Zend OPcache + MariaDB 10.3.39 / CENTOS 7.9
Offline
Dans la bonne requête, vous avez bien mis WHERE `id` = '$val' ?
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Oui tout à fait.
En fait même avec la bonne requête, cela ne me retourne jamais le nom de l'entité.
Pour être précis, si je fais:
global $DB, $CFG_GLPI;
$query .= "SELECT `name`
FROM `glpi_entities`
WHERE `id` = ".$val["entity"];
$entname = $DB->query($query);
echo "<br>- ".$entname;
Alors en lieu et place du numéro ID de l'entité (qui s'affiche bien lui) je n'ai pas le nom de l'entité qui apparait, mais un "Resource id #147" (numéro apparemment aléatoire selon l'entité)
Je pense que je loupe quelques-chose, ça semble être une question de contexte.
Donc, je pose tout de même la question, comment faire afficher le nom des entités sur les tâches du planning ?
GLPI 10.0.7 / LSWS Enterprise 6.1.2 + PHP 8.1.25 with Zend OPcache + MariaDB 10.3.39 / CENTOS 7.9
Offline
$entname = $DB->query($query);
Un query ne renvoie pas le résultat... (mais une ressource permettant de balayer le résultat)
En 0.72
getDropdownName('glpi_entities', $id);
En 0.78
Dropdown::getDropdownName('glpi_entities', $id);
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Merci beaucoup effectivement avec
echo "<br>- ".Dropdown::getDropdownName('glpi_entities', $val["entity"]);
C'est ok
Je n'ai pas encore tout le framework de glpi en tête, mais je me doutait bien qu'il y avait une fonction dédiée que je n'avait pas encore débusqué.
Je vais donc de ce pas combler mes lacunes sur les analyses de résultats de requêtes en php ^^
Last edited by webmastergreg (2010-10-18 14:23:09)
GLPI 10.0.7 / LSWS Enterprise 6.1.2 + PHP 8.1.25 with Zend OPcache + MariaDB 10.3.39 / CENTOS 7.9
Offline
Pages: 1
Topic closed