You are not logged in.
Bonjour,
Je souhaite faire apparaitre la date de mise en service dans la page principale (partie fixe superieure) d'inventaire d'un ordinateur.
J'ai recopié le bout de code correspondant dans la page "infocom.function.php"
A savoir :
echo "<td>".$LANG["financial"][76].": </td><td>";
showCalendarForm("form_ic","use_date",$ic->fields["use_date"],$editcalendar);
echo "</td>";
echo "</tr>";
Mais c'est la date du jour qui apparait au lieu de la date parametrée depuis l'onglet gestion.
Je pense que c'est un problème d'appel de fonction, mais je suis loin d'etre un pro en Php.
Si quelqu'un pouvait m'aider.... merci.
Offline
Je pige pas ton problème...
La date de mise à jour apparait sous les onglets en gras à droite...
++
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
Ah ...désolé , par contre là c'est moi qui comprends pas pourquoi tu me parles de date de mise à jour.... ok on reprend tout
Depuis "Central > Inventaire > Ordinateurs", donc lorsque depuis la liste d'inventaire principale on a cliqué sur un ordinateur en particulier on arrive sur sa fiche principale et dans dans l'onglet "Gestion" se trouve la "date de mise en service" (à coté de "date d'achat" et entre "bon de livraison" et "budget").
Je souhaiterais pouvoir recuperer cette date et la faire apparaitre dans la fiche principale de l'ordinateur (là où il y a "Nom", "Contact", "Contact Numero", "Type", Modèle", etc ...).
J'ai d'abord modifié le code de la page "computer.class.php" afin de rajouter une ligne (juste en dessous de la premiere ligne où se trouve "Nom" et "Contact" ).
Ensuite j'y copié/collé le bout de code suivant correspondant à cette fameuse date de mise en service depuis la page "infocom.function.php":
echo "<td>".$LANG["financial"][76].": </td><td>";
showCalendarForm("form_ic","use_date",$ic->fields["use_date"],$editcalendar);
echo "</td>";
echo "</tr>";
Au final j'ai bien une nouvelle deuxième ligne avec un champs "Date de mise en service" mais au lieu que ce soit la meme date que dans l'onglet "Gestion" , c'est la date du jour qui apparait ('2008-07-28' pour aujourd'hui).
J'ai du oublier un bout de code, un appel de fonction ou je ne sais quoi.... mais j'arrive pas à trouver (et je suis loin d'etre un pro en php).
Donc si quelqu'un pouvait m'aider.
Vala .... merci d'avance.
Offline
A ton avis, pourquoi il y a 2 formulaires ?
Parce qu'il y a 2 tables différentes.
Donc les informations financières ne sont pas accessibles dans le premier formulaire.
++
P.S. fin de mon intervention. Ce n'est pas en bricolant GLPI que le projet va progresser...
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
"Ce n'est pas en bricolant GLPI que le projet va progresser..."
C'est pas la peine d'etre désagréable (désolé c'est l'impression que ça me donne) et surtout je vois pas en quoi c'est du bricolage ???
Il n'est pas question de toucher à la partie financieres et encore moins de tout changer,mais simplement de recuperer et faire apparaitre des infos supplementaires sur la page principale (en theorie c'est pas bien compliqué...c'est juste moi qui suis pas doué c'est different).
Le parametrage de la date de mise e nservice se fera toujours de puis l'onglet Gestion, simplement elle apparaitra en plus sur la page principale.
Et si je demande ça c'est parce qu'on me la demandé donc qu'il y a un besoin.
De meme on m'a aussi démandé de pouvoir faire apparaitre le(s) utilisateur(s) précedent(s), pour un suivi à cause des ré-affectations de postes.
Ce qui me semble tres interressant.... mais bien plus compliqué, donc pour l'instant je me concentre sur le plus simple.
Voili voilou.
Last edited by magnum (2008-07-28 12:10:56)
Offline
Bonjour,
Je ne suis pas spécialiste mais je pense que si c'est juste de l'affichage,ce n'ai pas d'une fonction que tu as besoin mais juste une requete SQL sur la table glpi_infocoms.
Cordialement,
Yann
Offline
Bonjour,
Oui exactement, n'etant pas un specialiste non plus je me suis dis qu'en recuperant le code Php existant si je garde seulement la partie concernant l'affichage et que j'enleve la partie concernant l'edition ça serait bon... ça parait logique à premiere vue.
Mais comme on peut le voir j'y arrive pas.
Là je tente une autre solution, faire un copier/coller du code Php qui sert à l'affichage des autres champs dans la partie principale et remplacer les parametres.
J'ai choisi de partir du code d'affichage du champs "contact":
autocompletionTextField("contact","glpi_computers","contact",$this->fields["contact"],20,$this->fields["FK_entities"]);
Si je me trompe pas:
-autocompletionTextField signifie qu'on va afficher l'info dans un champs texte (pile poil ce qu'il me faut)
-ensuite on a le nom du champs ds la BDD
-puis le nom de la table ds la BDD
-on retrouve le nom du champs (comprends pas pourquoi la repetition)
-$this->fields["contact"] d'apres ce que je comprends ça indique precisement ce qu'on doit afficher
-20 => je sais pas ... la longueur max je suppose ?
-$this->fields["FK_entities"]) ... là non plus je sais pas, j'aurais bien dis une clé pour l'association mais je suis pas sur, et puis normalement d'apres ce que je comprends ça c'est pour afficher mais cet élément ne l'est pas.
En partant de là j'ai obtenu ceci:
autocompletionTextField("use_date","glpi_infocoms","use_date",$this->fields["use_date"],20,$this->fields["ID"]);
Mais ça ne marche pas du tout .... le champs d'affichage sur la page reste desesperement vide ... snif
Offline
Comme j'y arrive pas en m'inspirant du code existant de GLPI, j'ai essayé avec une methode plus "standard" en quelque sorte.
Je teste avec ceci:
$daate ="SELECT use_date FROM glpi_infocoms WHERE ID = '6'";
echo $daate ;
Mais ça marche pas ..... ça m'affiche --- SELECT use_date FROM glpi_infocoms WHERE ID = '6' ---
Arf....
Personne veut m'aider s'il vous plait, c'est meme plus seulement pour me donner la solution mais pour que je puisse ainsi comprendre comment ça marche les requetes machin tout ça.... parce que là j'ai vraiment de grosses lacunes :'(
Last edited by magnum (2008-07-31 09:46:14)
Offline
Bonjour,
normal, il y a 3 phases :
1 - la requete (ce que tu as fait)
2 - execution de la requete ( $result = $DB->query($daate) )
3 - récupération du résultat ($info = $DB->fetch_array($result))
Y'a plein de tutos sur le net (genre nexen)
A bientôt
Philippe
Tentative de mise en place de la solution
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22
Offline
Merci beaucoup.
Bon je me doutais que ça n'allait pas etre aussi simple que de recopier ce que t'as mis, et effectivement avec:
$daate ="SELECT use_date FROM glpi_infocoms WHERE ID = '6'";
$result = $DB->query($daate) ;
$info = $DB->fetch_array($result);
echo $info;
Y a rien qui s'affiche lol
Mais je vais aller me taper les tutos que tu indiques, merci.
PS: (n'empeche que si en attendant quelqu'un pouvait me filer un code qui marche ça me remonterait bien le moral , car là j'me sens mal barré )
Offline
Je pense comprendre a peu près pourquoi la ligne $result, par contre $info vraiment je vois pas.
Pour tester je l'ai viré et remplacé echo $info par echo $result et ça m'affiche Resource id #133
Ca m'affiche donc exactement la meme chose que lorque j'ai essayé:
$daate =mysql_query("SELECT use_date FROM glpi_infocoms WHERE ID = '6'");
echo $daate
Donc visiblement la connection à la base se fait bien, mais pourquoi donc ça rappatrie pas la valeur demandée ? o_O?
Offline
Quoi que .... apparement ça bien de la syntaxe de ma requete en elle meme, doit y avoir un problème au niveau de l'ID, pour l'instant je trouve pas mais je sens que ça vient lol
Offline
Pour l'affichage :
echo $info["nom_champ_de_la_table"] ;
echo $info["bon_livraison"] par ex. et ca doit marcher...
A bientôt
Philippe
Tentative de mise en place de la solution
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22
Offline
En changeant le numero d'id, ça m'affiche Array.
Apres analyse de pas mal de requetes dans les page, quelquechose me dit que c'est normal donc visiblement suffit de faire echo $info pour afficher le résultat.
Mais je trouve pas quoi...
Offline
ton $info est un tableau qui contient tout les champs de la bdd.
il faut lui préciser lequel tu veut afficher.
D'où le echo $info["nom_champ_de_la_table"] ;
A bientôt
Philippe
Tentative de mise en place de la solution
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22
Offline
J'ai posté avant de te lire désolé .....
Le temps que les 60s de délai passent j'ai fais comem tu dis et nickel maintenant non seulement ça marche mais en plus je commence enfin à comprendre comment tout ça fonctionne, là ça m'eclaire vraiment.
Je te remercie enormement de m'avoir consacré de ton temps et de ta patience
Offline
no problemo
A bientôt
Philippe
Tentative de mise en place de la solution
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22
Offline
Bonjour,
Est-ce que vous pouvez m'indiquer le code en entier svp et où est-ce qu'il faut le mettre??
Merci beaucoup pour votre aide!
GLPI 0.70.2 / OCS 1.01
windows xp pro sp2
XAMPP 1.5.5
Offline