2011-04-18 24 views
1

我需要通過php「打印出」一行數據。捕獲一組數據並輸出單行

所以,借這個例子從W3Schools的:

http://www.w3schools.com/PHP/php_mysql_select.asp

有通過所有行那張cicle(在這種情況下,2),並打印出來。最終的結果是:

彼得格里芬
格倫泥沼

我要的是能夠選擇行1或2(或更多),只是有選擇的數據,該行。然後,我可以這樣說(我知道這doesent工作,只是一個例子):

echo $row["Name",2]; 

並獲得:

格倫泥沼

我相信我一定要得到一個特殊的參數在mysql_fetch_array中,但我無法在任何地方找到它,並且我敢打賭它非常簡單。請幫助我,完整的示例/教程/指南鏈接是首選。

+0

你試過'回聲$行[num_row] ['id']'? – Elorfin 2011-04-18 14:44:19

+0

由於某些原因,他們都打印出「M」。在名稱collum中,我有一個Marco Roberto,但它仍然打印出M,例如ID。奇怪的。 – FoxLift 2011-04-18 14:51:36

回答

1

你有2個選項。首先是編輯你的SQL查詢,如下面的exmaple,這將從數據庫返回第二行。

$result = mysql_query("SELECT * FROM Persons" WHERE id = 2); 

或者在foreach循環期間將所有結果提取到另一個數組中。

$result = mysql_query("SELECT * FROM Persons"); 

$rows = array(); 
while($row = mysql_fetch_array($result)) 
{ 
    $rows[] = $row['FirstName'] . " " . $row['LastName']; 
} 
+0

第二種方法效果很好。謝謝。 – FoxLift 2011-04-18 14:55:47

0

將結果放入數組並打印所需的行。

1

據我所知mysql沒有函數返回整個查詢作爲數組。

所以,你可以切換到使用PDO(推薦):

$sth = $dbh->prepare("SELECT name, colour FROM fruit"); 
$sth->execute(); 
$result = $sth->fetchAll(); 
echo $result[1]['name']; 

,或者如果你必須使用mysql_functions剛剛創建循環數組:

while($row = mysql_fetch_array($result)) { 
    $result[] = $row; 
} 
echo $result[1]['name']; 
+0

第二種方法是我的解決方案,但s7anley首先回答,所以我接受了他的回答。還是,謝謝。 :) – FoxLift 2011-04-18 14:58:53