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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
foreach ($aa as $k=>$v){
   echo $v."<br />";
}
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
4
5
6
foreach ($aa as $k=>$v){
   echo $v."<br />";
   $i=0;
   $tab[$i]=$v;
   $i++;
}
Mais quand j'affiche mon tableau, j'ai que des Array qui s’affichent pour chaque ligne.

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);
}
?>