2011-10-02 31 views
1

這是很基本的,但我似乎無法得到它的工作回聲查詢結果基於其指數

我有這個疑問

$people = "SELECT name FROM people"; 
$people = mysql_query($people) or die(mysql_error()); 
$row_people = mysql_fetch_assoc($people); 
$totalRows_people = mysql_num_rows($people); 

我可以呼應這個第一個結果用

<?php echo $row_people['name']; ?> 

我也可以創建一個循環並回顯所有結果。

但我真的想單獨根據索引來回顯結果。

我試過這個,但它不起作用。

<?php echo $row_people['name'][2]; ?> 

感謝您的幫助。

回答

0

您可以通過使用WHERE子句的索引來獲取它們。

$people = sprintf("SELECT name FROM people WHERE index='%d'", $index); 

如果您想查詢所有的行,你可以將它們存儲到一個數組,而遍歷它們:

$people = "SELECT name FROM people"; 
$people = mysql_query($people) or die(mysql_error()); 
$totalRows_people = mysql_num_rows($people); 
$rows_people = array(); 
while($row_people = mysql_fetch_assoc($people)) 
{ 
    $rows_people[] = $row_people; 
} 

您可能希望將主鍵添加到返回的字段,並把它作爲數組索引可能。

0

您可以通過索引對它們進行排序,然後使用循環。

$people = "SELECT name FROM people ORDER by index"; 
0

您可以在結果對象上使用mysql_data_seek來查找特定行。例如,從第2行獲取名稱值:

mysql_data_seek($people, 2); 
$row_people = mysql_fetch_assoc($people); 
echo $row_people['name']; 

如果你這樣做了很多這將是更容易的所有行聚集在一起在一個數組中開始:

$data = array(); 
while ($row = mysql_fetch_assoc($people)) $data[] = $row; 

通過這種方式,您可以輕鬆獲取結果中的任意單元格:

echo $data[2]['name']; 
相關問題