2011-12-25 3 views
2

저장해야하는 XML 파일에서 값을 가져 왔습니다. 이제는이 데이터를 mysql 데이터베이스로 가져와야한다. 여러 수준의 각 루프에 대해 복잡한 작업을 수행 했으므로 MYSQL 삽입 문에이 작업을 넣는 방법에 대해 궁금합니다. 어떤 도움이라도 감사하게 생각합니다.각 루프마다 xml을 mysql에 작성하십시오.

<?php 
$source = file_get_contents("test.xml"); 
$xml = simplexml_load_string($source); 
$game = $xml->xpath("//market"); 
foreach ($game as $event) 
{ 
    if (strpos($event['name'], 'Match Betting') !== false) 
    { 

     mysql_query("INSERT INTO feed (feedid, homeid, homeodd, drawid, drawodd, awayid, awayodd) 
     VALUES ("echo $event['id'] .", "; 
      { 
       foreach ($event->children() as $prices) 
        { 
         echo $prices['id'] . ", "; 
         echo $prices['odds']; 
        } 
      } 
     ")"); 
    } 
} 
?> 

위 정말 나던 작업과는 조금 바보하지만 난 정말 캔트이 작업을 수행하는 방법을 생각한다.

도움말 : D

답변

0

mysql 문 내에서 foreach 루프를 사용하지 마십시오. 대신 foreach 루프에서 sql을 사용하십시오. 그것을 시도하고 작동하지 않는 경우 알려주십시오. ? $의 XML = simplexml_load_string ($ 소스); $ 게임

+0

는 내가 아마 바보 같은 :( XPath는 ("// 시장"); 는 mysql_query ("공급 INTO INSERT (feedid, homeid, homeodd, drawid, drawodd, awayid, awayodd) \t \t VALUES ( 의 foreach ($ 게임 $로 ($ event [ 'name'], 'Match Betting')! == false) \t { \t \t \t \t echo " '". $ event ['id ']. "',"; "; \t \t \t { \t \t \t \t foreach는 \t \t \t \t \t { \t \t \t \t \t \t는 " '"에코 ($ 이벤트 -> 어린이() $로 가격). $ 가격 ['ID ']. " ',"; \t \t \t \t \t \t echo " '". $ prices ['odds ']. "'"; \t \t \t \t \t} \t \t \t} \t \t \t} } ) ");?? > 어떤 아이디어 – user989952

+0

이 완전히 바보 내가 당신을 위해 개정을 다하겠습니다 기다립니다... –

+0

당신은 단지 3 개의 열에 삽입하고 있습니다. 왜 모두입니까? –

관련 문제