Bonjour à tous,
Voilà j'ai un souci dans mon code, mon code doit me permettre de récupérer des informations d'un dossier XML pour les mettre ensuite dans une base de données MySQL.
Jusqu'a présent j'arrive à tirer les informations du dossier XML pour les afficher sur ma page PHP. J'utilise cette fonction :
Je voudrais mettre ma variable $v dans un tableau, j'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach ($aa as $k=>$v){ echo $v."<br />"; }
Mais quand j'affiche mon tableau, j'ai que des Array qui s’affichent pour chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 foreach ($aa as $k=>$v){ echo $v."<br />"; $i=0; $tab[$i]=$v; $i++; }
Pour vous aidez je mets mon code complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <?php $db = readDatabase("mon fichier.xml"); class S2MI { function S2MI ($aa) { foreach ($aa as $k=>$v){ echo $v."<br />"; } } } function readDatabase($filename) { // lit la base de données XML des acides aminés $data = implode("",file($filename)); $parser = xml_parser_create(); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1); xml_parse_into_struct($parser,$data,$values,$tags); xml_parser_free($parser); // boucle à travers les structures foreach ($tags as $key=>$val) { if ($key == "category_product") { $molranges = $val; // each contiguous pair of array entries are the // lower and upper range for each molecule definition for ($i=0; $i < count($molranges); $i+=2) { $offset = $molranges[$i] + 1; $len = ($molranges[$i + 1] - $offset); $tdb[] = parseMol(array_slice($values, $offset, $len)); } } else { continue; } } return $tdb; } function parseMol($mvalues) { for ($i=0; $i < count($mvalues); $i++) $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"]; return new S2MI($mol); } ?>
Partager