8797 sujets

Développement web côté serveur, CMS

Bonjour à vous tous,

j'effectue des requêtes sur un base de données sur mon terminal avec une commande du type :

./fetchdom -b prodom_v3 -d 45100 -fs " ; " -t ac,id,nd,kw
avec -b prodom_v3 : ma base de donnée
-d 12000 : retourne la famille de protéine n° 45100
-fs est un filtre séparateur qui me permet de séparer tous les champs que j'ai choisi ( AC, ID, ND, KW)
par " ; "

je voudrais enregistrer ses champs dans des variables que j'afficherai sur ma page web. Je ne sais pas trop comment m'y prendre pour optimiser ma manoeurvre.

J'avais pensé rediriger la sortie de ma commande dans un fichier texte et le parser ensuite, mais je ne sais pas comment faire pour répartir le texe comme je le désire.

voici un ex de fichier texte que j'obtiens:

ID 45100 Prodom_v2005 3 seq.
AC CL217267
KW // REPEAT WD INVOLVED STRAIN REQUIRED CANDIDA NRRL WEB1 LACTIS CHROMOSOME
LA 75
ND 3
CC -!- INNOVATION: 4890
CC -!- SPECIES NUMBER: 3
10 20 30 40 50 60 70
---------|---------|---------|---------|---------|---------|---------|-----
AL 2943|HBG030923 293 367 1.00 EYPTRGNWCFKTKFAPEAPDLFATASFDGKIEVQTLQNLNNTLDEEASKGKQQESENDFWNNVSSEESKEKPSVT
CO EYPTRGNWCFKTKFAPEAPDLFATASFDGKIEVQTLQNLNNTLDEEASKGKQQESENDFWNNVSSEESKEKPSVT
DR GO; GO:0005198 F 0.628 0.35 "structural molecule activity"
DR GO; GO:0006888 P 1.000 0.15 "ER to Golgi transport"
DR INTERPRO; IPR001680 "WD-40 repeat"
DR PfamA; PF00400 WD40
//




Il doit surement avoir un système avec php me le permettant, mais je patauge totalement.

Pourriez-vous m'aider svp !!!
Modifié par Yuki_Hime (28 Apr 2009 - 16:41)
lol, ben parce que c'est le système que mon labo a coder et que ça passe pas avec SQL (je te répète ce que l'on m'a dit, aprce que je me suis demandé la même chose)
Yuki_Hime a écrit :
lol, ben parce que c'est le système que mon labo a coder et que ça passe pas avec SQL (je te répète ce que l'on m'a dit, aprce que je me suis demandé la même chose)
Ben alors je suppose qu'ils ont déjà du code pour faire ça non ?

Sinon, que tu partes d'une variable ou d'un fichier texte, je ne vois pas d'autre solution que des expressions régulières qui vont bien...
non il n'y a pas de script pour le faire, je suis censé justement faire l'affichage de ces données sur page web, .....

Qu'est ce que tu entend par expression régulière qui vont bien ?

Il est vrai qu'il y a en background un fichier srs qui permet l'indexation des champs mais ce n'est pas moi qui l'ai fait, il est intégrer dans la base de donnée.

Peux tu m'en dire plus sur ces expressions?
Yuki_Hime a écrit :
............help..............
je suis lost in translation........
Heu... les liens que je t'ai donnés sont pourtant en français ! Smiley lol

Mais c'est clair que quand on s'attaque aux expressions régulières il vaut mieux avoir de l'aspirine à portée de main...
ben j'ai trouvé autres choses que les expressions régulières

 
<?php
 
if (isset($_POST['ID']) && isset ($_POST['KW']) && isset ($_POST['LA']) && isset ($_POST['ND']) && isset ($_POST['DR']) && isset ($_POST['INN']) && isset ($_POST['INNTYPE']) && isset ($_POST['HT']) && isset ($_POST['SPND']) && isset ($_POST['CO'])  )
{
 
$ID = $_POST['ID'];
$KW = $_POST['KW'];
$LA = $_POST['LA'];
$ND = $_POST['ND'];
$DR = $_POST['DR'];
$INN = $_POST['INN'];
$INNTYPE = $_POST['INNTYPE'];
$HT = $_POST['HT'];
$SPND = $_POST['SPND'];
$CO = $_POST['CO'];
}
else
{
$ID = "";
$KW = "";
$LA = "";
$ND = "";
$DR = "";
$INN = "";
$INNTYPE = "";
$HT = "";
$SPND = "";
$CO = "";
}
 
if(isset($_GET["requete"])) $requete=$_GET["requete"];
else $requete="";
 
 
$requete_fetch = ('/home/idris/My_php/fetchdom/fetchdom-3.20/fetchdom -b /home/idris/My_php/fetchdom/fetchdom-3.20/prodom_v2005 -a '.$requete.' -fs " % " -t  id,kw,la,nd,dr,inn,inntype,ht,spnb > idris_fetch.txt') ;
exec($requete_fetch);
 
$resultat_requete= "";
$handle = fopen("idris_fetch.txt", "r");
if ($handle) {
    while (!feof($handle)) {
         $resultat_requete= $resultat_requete.fgets($handle, 4096);
    }
    fclose($handle);
}
 
 
list($ID, $KW, $LA, $ND, $DR, $INN, $INNTYPE, $HT, $SPND, $CO) = explode(' % ', $resultat_requete) ;
 
?>


j'espère que ça aidera quelqu'un on sait jamais..... Smiley cligne
Modifié par Yuki_Hime (30 Apr 2009 - 16:07)