2011-04-18 23 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