Script d'affichage

Bonjour,

je travail avec MYSQL

j'ai deux BASE DE DONNES

OCSWEB
GLPI

la base de donné OCSWEB contient 3 table "ancienhardware" et "bios" et "hardw"

la strcture de la table "ancienhardware" est ancienhardware(`hardware_id`,`type`)
son contenue est:
INSERT INTO `ancienhardware` VALUES (21,'clavier');

la structure de la table "bios" est (`harware_id`,`SSN`)
son contenue est:
INSERT INTO `bios` VALUES (21,'VMware-56 4d 5e f2 e4 65 cf 3e-39 23 a5 49 83 1f 41 12')

la strucrure de la table "hard" est hardw(`ID`,`name`)
son contenue est:
INSERT INTO `hardw` VALUES (21,'MBH-E499E254237')

la base de donné GLPI contient 2 table "computer" et "glpi_location"

la structure de la table "computer" est (`serial`,`location`,`date_mod`)
son contenue est:
INSERT INTO `computer` VALUES ('VMware-56 4d 5e f2 e4 65 cf 3e-39 23 a5 49 83 1f 41 12',2,'2008-11-27 19:40:57')

la structure de la table "glpi_location" est(`ID`,`name`,`completename `)
son contenue est;
INSERT INTO `glpi_location` VALUES (2,'info','departement > info')

le travail demande est faire affichage de `type` de la table "ancienhardware" et affichage de `SSN`
de la table "bios" et affichage de `name` de la table "hard" et affichage de `date_mod` de la table "computer" et afficage de `completename` de la table " glpi_location"

le probleme est q'on travail avec deux bases de donnés OCSWEB et GLPI

l'affichage finale doit etre de la forme suivante;

`clavier` `VMware-56 4d 5e f2 e4 65 cf 3e-39 23 a5 49 83 1f 41 12` `MBH-E499E254237` `2008-11-27 19:40:57` `departement > info`

je fait le script suivant mais il a des erreurs;

select type,SSN,name,date_mod,complename
from ancienhardware,bios,hard,computer,glpi_location
where OCSWEB.ancienhardware.hardware_id = OCSWEB.bios.hardware_id
and OCSWEB.bios.hardware_id = OCSWEB.hard.ID
and OCSWEB.bios.SSN = GLPI.computer.serial
and GLPI.computer.location = GLPI.glpi_location.ID ;

AIDEZ MOI SVP C URGENT
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. oui je fait erreur d'ecriture pour hard
    le mot correct est hardw

    mon question c comment stocker SSN que j'aurai besoin dans la seconde requête dans une variable

    et autre question peut on connecter au deux bases de donnes simultanement si je travail avec MYSQL

    merci
    0
    1. salut a toi

      déja fait tu correctement la connexion à ta base si oui il y a deux chose qui si je ne dit pas de bêtise sont fausse même trois

      déjà tu a la table hardw mais dans ton select tu fait un FROM hard sa ne serait pas hardw ?

      ensuite tu fait un

      and OCSWEB.bios.SSN = GLPI.computer.serial mais suite a la remarque si dessous sa ne semble pas être possible

      Puis tu sélectionne des tables située dans deux bases différente or lorsque tu te connecte à une base tu doit te déconnecter de celle ci avant de te connecter à une deuxième ( il me semble que la connexion simultanée au deux base n'est pas possible)

      donc il faudra que tu fasse une première requête sur ta première base, tu récupère les donnée qui t'intéresse

      select type,SSN,name,date_mod,complename
      from ancienhardware,bios,hard
      where ancienhardware.hardware_id = bios.hardware_id
      and bios.hardware_id = hardw.ID

      la tu récupère le résultat de ta requete que tu stock

      au passage tu stock ton SSN que tu aura besoin dans la seconde requête dans une variable

      ensuite tu ferme ta connexion a la première BDD

      tu te connecte à la seconde

      select computer,glpi_location
      where "ta _variable_qui_contient_le_SSN" = computer.serial
      and GLPI.computer.location = GLPI.glpi_location.ID ;

      ensuite tu concatène le résultat ou tu l'affiche l'un à la suite de l'autre
      0