Bonjour, je souhaite faire une recherche dans une base de données Mysql à partir d'informations xml.
Je veux que chaque donnée de chaque ligne soit comparé à toute une colonne d'une table.
J'utilise donc un simpleparse_load_file sur lequel je fais un foreach sur une balise. A l'intérieur de ce foreach je construis une autre boucle sur le tableau des élèments de ma requête. Mais cette boucle ne s'execute qu'une seule fois. En revanche le fichier xml est lu en entier. Mon code:
EDIT: J'ai édité mon code et j'arrive à passer dans while($entre = mysql_fetch_object($exec)) par contre je ne passe pas dans les if.
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 foreach($xml->BIEN as $bien) { while($entre = mysql_fetch_object($exec)) { if($entre->BIEN_NUM_ASP == $bien->NO_ASP && ($bien->QUARTIER!="" && substr($bien->CP_OFFRE,0,2) == '75')) { $req = "select LOCAL_ID,LOCAL_QUARTIER,LOCAL_VILLE from localisation where LOCAL_CP =".$bien->CP_OFFRE." and LOCAL_QUARTIER = ".$bien->QUARTIER; $exec2 = mysql_query($req) or die("erreur dans la requete($req)"); $tab = mysql_fetch_object($exec2); while($sql = $tab) { echo $tab->LOCAL_ID.' '.$tab->LOCAL_QUARTIER.' '.$tab->LOCAL_VILLE; } } else if($entre->BIEN_NUM_ASP == $bien->NO_ASP) { $req = "select LOCAL_ID,LOCAL_VILLE from localisation where LOCAL_CP =".$bien->CP_OFFRE." AND LOCAL_QUARTIER = ''"; $exec3 = mysql_query($req) or die("erreur dans la requete($req)"); while($sql = mysql_fetch_object($exec3)) { echo $entre->LOCAL_ID; } } }
Partager