2012-08-01 147 views
0
try{ 
    #connection string 
     // $dbconn = new PDO('mysql:host=localhost;port=3306;dbname=mycooldb',array(PDO::ATTR_PERSISTENT => true)); 
     $dbconn = new PDO('mysql:host=localhost;port=3306;dbname=mycooldb','root','toshiba1',array(PDO::ATTR_PERSISTENT => true)); 
     $q = $dbconn->prepare("SELECT FW_ArtSrcLink FROM FW_ArtSrc WHERE OneSet=1 and leagID=20"); 
    #call stored proc 
     $q->execute(); 
    #get the rows into an array 
     $result = $q->fetchAll(); 
     $newsStory = array(); 
    foreach($result as $r){ 
     while($xmlUrl = $r['FW_ArtSrcLink']){ 
      // WHILE there is a link out of 11 matching the $dbconn above, load XML file and convert to channel->item 
      $ConvertToXml = simplexml_load_file($xmlUrl); 
      $newsStory[] = $ConvertToXml->channel->item; 
      # -> Setup XML 
     } //while 
    } 
    # -----> Load News Stories 
     for($i = 0;$i<sizeof($newsStory); $i++){ 
      //// judging by your code, these are the things you wanted to echo 
      # Source of Article Info--> 
      echo $newsStory[$i]->item->title; 
      echo $newsStory[$i]->item->link; 

      # Actual News Article Info --> 
      echo $newsStory[$i]->item->title; 
      echo 'desc: '.$newsStory[$i]->item->description; 
     } // for() 
} // try 

我需要上述代碼的幫助。 $ dbconn查詢有11個結果,但我需要每個結果加載並使用simplexml_load_file();進行轉換,以便可以加載所有11條具有15-20個鏈接的記錄。共計約* 15 * 11 = 165個賓館在foreach循環中輸出XML項目

foreach($result as $r){ 
      while($xmlUrl = $r['FW_ArtSrcLink']){ 
       // WHILE there is a link out of 11 matching the $dbconn above, load XML file and convert to channel->item 

回答

0

你開始一個foreach循環,你並不需要裏面的for循環,刪除和更改分配給變量$故事變成相呼應。

////// modify your example code as follows: 

# -----> Load News Stories 

    //// if you haven't already, this is the place to send the content-type text/xml header 
    header("Content-Type: application/xml"); //// if you've already sent this, then comment out this line 
    //// note, many browsers will not display raw xml if it has not been styled - you may have to "view source" to see the xml - this is normal 
    //// if you omit this header, the browser will probably assume it got text/HTML instead. 

    for($i = 0;$i<sizeof($newsStory); $i++){ 

    //// judging by your code, these are the things you wanted to echo 
# Source of Article Info--> 
     echo $newsStory[$i]->title; 
     echo $newsStory[$i]->link; 

# Actual News Article Info --> 
     echo $newsStory[$i]->title; 
     echo $newsStory[$i]->description; 

     //// foreach ($newsStory[$i] as $story){ //// remove this loop, you do not need it - the for($i) loop is already iterating through your news stories. :) 


    } // for() 
+0

雖然這讓我回到了原點。我需要得到所有標題,desc,從每個來源鏈接。目前有11個來源正在被拉。每個來源有〜15-20項。所以15 * 11 = 165鏈接...我只有11個,請參閱上面的更新代碼。我會很感激,如果你進一步幫助@Steve – CodeTalk 2012-08-01 23:28:53

+0

當你echo $ newsStory [$ i] - >標題;它說「數組()」還是它給一個字符串標題? – Steve 2012-08-02 04:27:31

+0

不,它迴應所有的標題,但只有其中的11個 – CodeTalk 2012-08-03 23:45:40