2012-03-24 1 views
0

簡単な質問、私は考えるべきです。残念ながら、私はそれを働かせる方法を理解できませんでした。XML APIからPHPへ!新しい開発者、これを行う方法がわからない

は、私はこのようなXMLデータシートを持っている:

<leads> 
    <leadDetails> 
     <lead_id>3886961</lead_id> 
     <campaign_id>1173</campaign_id> 
     <campaign_name>Tesco vs Argos - Submit (UK)</campaign_name> 
     <subID>N/A</subID> 
     <gateway>yes</gateway> 
     <ip>109.155.249.140</ip> 
     <referring_url>http://adworkmedia.com/gTemplate.php?GID=1514&pubID=2312&sid=&ST= 
     </referring_url> 
     <date>2012-03-24 07:19:07</date> 
     <payout>$0.70</payout> 
     <status>Credited</status> 
    </leadDetails> 
</leads> 

私はこのXMLシートは私のサーバー上でホスティングされていませんが、私は新しいリードを得るように動的に私のネットワークにより、更新されていることを追加する必要があります。必要に応じて私にもっと質問してください。

MY QUESTION IS:XMLページを読み込み、日付、IP、およびキャンペーン名をそれぞれmySQLテーブルにアップロードするコードを作成するにはどうすればよいですか。

ありがとうございます!

$xml = simplexml_load_file('http://yourhost.com/somefile.xml'); 
$pdo = new PDO('mysql:dbname=test;host=localhost', 'user', 'pass'); 
foreach ($xml->leadDetails as $lead) { 
    $stmt = $pdo->prepare('INSERT INTO table (createdAt, ip, campaign_name) VALUES (NOW(), ?, ?)'); 
    $stmt->execute(array(
     $_SERVER['REMOTE_ADDR'], 
     $lead->campaign_name 
    )); 
} 

答えて

1

こんにちは:

1

だけの出発点で開始するには良いチュートリアルです。

  if($xml = simplexml_load_file("the_url_of_xml")) 
      { 
       foreach($xml->leads->leadDetails as $detail) 
       { 
       $camp_id = $detail->campaign_id; 
       $camp_name = $detail->campaign_name; 
       $sql = "INSERT INTO myTable (id,name) VALUES ('$camp_id','$camp_name')";//AND so on 
       mysql_query($sql); 
      } 

      } 
1

JSONは、私の意見では、より良い形式になりますが、XMLのために、それはかなり簡単です。

<?php 
$con = mysql_connect("username","password","host"); 
mysql_select_db("database_name",$con); 

$xmlObj = new SimpleXMLElement($xml); //replace $xml with your XML string. 
foreach($xmlObj->leadDetails as $details){ 
    $date = $details->date; 
    $ip = $details->ip; 
    $campaign_name = $details->campaign_name; 
    mysql_query("INSERT INTO `table_name` (`date`,`ip`,`campaign_name`) VALUES ('$date','$ip','$campaign_name')",$con); 
} 
?> 
関連する問題