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 2008-07-28 10:27:49

magnum
Member
Registered: 2008-07-07
Posts: 147

Problème de recuperation de la date de mise en service (code php)

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

#2 2008-07-28 10:50:38

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème de recuperation de la date de mise en service (code php)

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

#3 2008-07-28 11:12:13

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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 wink

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

#4 2008-07-28 11:40:41

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Problème de recuperation de la date de mise en service (code php)

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

#5 2008-07-28 12:08:19

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

"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

#6 2008-07-28 15:11:53

yann
Member
Registered: 2005-08-25
Posts: 164

Re: Problème de recuperation de la date de mise en service (code php)

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

#7 2008-07-29 10:56:13

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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

#8 2008-07-31 09:45:20

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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

#9 2008-07-31 10:04:21

Philippe
Member
Registered: 2007-01-11
Posts: 203

Re: Problème de recuperation de la date de mise en service (code php)

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) wink

A bientôt
Philippe


Tentative de mise en place de la solution smile
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22

Offline

#10 2008-07-31 10:14:29

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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 smile


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é tongue )

Offline

#11 2008-07-31 10:21:56

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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

#12 2008-07-31 10:29:24

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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

#13 2008-07-31 10:33:57

Philippe
Member
Registered: 2007-01-11
Posts: 203

Re: Problème de recuperation de la date de mise en service (code php)

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 smile
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22

Offline

#14 2008-07-31 10:35:45

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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

#15 2008-07-31 10:38:14

Philippe
Member
Registered: 2007-01-11
Posts: 203

Re: Problème de recuperation de la date de mise en service (code php)

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 smile
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22

Offline

#16 2008-07-31 10:41:45

magnum
Member
Registered: 2008-07-07
Posts: 147

Re: Problème de recuperation de la date de mise en service (code php)

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  smile

Offline

#17 2008-07-31 11:15:36

Philippe
Member
Registered: 2007-01-11
Posts: 203

Re: Problème de recuperation de la date de mise en service (code php)

no problemo smile

A bientôt
Philippe


Tentative de mise en place de la solution smile
---------------------------------------------------------->
glpi 0.72 RC1
ubuntu 6 / apache 2.0.55 / mysql 5.0.22

Offline

#18 2008-07-31 21:59:32

Billy987
Member
Registered: 2008-07-25
Posts: 2

Re: Problème de recuperation de la date de mise en service (code php)

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

Board footer

Powered by FluxBB