2016-02-05 145 views
2

在第一個代碼中,我有一個數據庫查詢獲取信息,例如「name」並將其顯示在表中。一切正常。合併兩個PHP腳本

$query = ("SELECT name FROM ..."); 
$result = mysqli_query($con, $query); 

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    echo "<tr><td>"; 
    echo $row['name']; 
    echo "</td></tr>\n"; 
} 

在第二個代碼中,我從外部網站獲取信息。

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01;Windows NT 5.0)"); 
curl_setopt($ch, CURLOPT_URL, "www.url.com/".$name); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

$data = curl_exec($ch); 

curl_close($ch); 

$array = array(); 
$array = explode(',', $data); 
print_r($array); 

其中在一個陣列

Array 
(
    [0] => 30 
    [1] => 24986 
122 
    [2] => 40 
    [3] => 227449 
.... 

目前這兩個腳本在單獨的PHP文件的工作顯示一切,我需要手動定義$名稱。但是,我想將它們結合在一起,並使用從代碼#2中$ name字段中代碼#1數據庫查詢中獲得的名稱。到目前爲止,它只從網站獲得數組的隨機數據,而且我很少丟失在何處/如何輸入代碼。我還沒有找到使其正常工作的正確方法。任何幫助?

+2

將'curl'放入'while'並使用'$ row ['name']'代替'$ name'。 – chris85

+0

或者,將函數doMyCode($ name){',然後從你的主文件中包含''文件中的第二個文件中的代碼,然後調用函數並將名稱變量傳遞給函數 – Ohgodwhy

回答

1

創建一個主PHP文件像如下:

<?php 

$query = ("SELECT name FROM ..."); 
$result = mysqli_query($con, $query); 

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01;Windows NT 5.0)"); 
    curl_setopt($ch, CURLOPT_URL, "www.url.com/".$row['name']); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 

    $data = curl_exec($ch); 
    curl_close($ch); 

    $array = array(); 
    $array = explode(',', $data); 

    echo "<tr><td>"; 
     echo $row['name']; 
    echo "</td></tr>\n"; 
    echo "<tr><td>"; 
     print_r($array); // Display it in the table or do what you want 
    echo "</td></tr>\n"; 
} 

這樣,您取決於該行從數據庫中取出,並同每個結果的名稱獲取數組。

在我的示例中,我將它作爲名稱附加到表中,但您可以用它做所有事情。

+0

非常感謝!我沒有意識到這是必須使用的$ row ['name']。一切都在工作。 – DxDogo

+0

不客氣。如果你可以回顯'$ row ['name']',你可以在你可以訪問的時候使用它(在同一個腳本或方法中)。不要忘記通過點擊答案左上角的綠色支票圖像來回答問題。也請將答案投票作爲您自己的讚賞。 – chalasr