我有一个取回行查询返回
10 9 8 7 6 5 4 3 2 1
但是,我只想返回最后一个值,在本例中是"1"。
我试图做echo row[0][9]
,但它不工作。我怎么得到最后一个值?
可以使用end()
函数
$row = array(10, 9, 8, 7);
echo end($row); // displays 7
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>
看一下这个例子。从这里抄的。通过看看上面的例子,您应该能够实现您想要的。
如果你知道列索引是什么,你就可以开始了。但是,如果您总是想要最后一列,请查看mysql_num_fields函数
试试echo explode(' ', $row[0])[9]
我已经有一段时间没有使用PHP了
您必须按DESC
关键字对表进行排序。
我会在MySQL端做这一切,所以你不会在PHP和MySQL之间分割太多的逻辑(如果在这种情况下适用),并使用LIMIT 1
和ORDER BY DESC
(或ASC,取决于你的表)查询
您只需要添加到表中的最后第10行?如果按id降序排序,这将是列表中的第10个id。如果这是你想要的,你也可以告诉MySQL返回那一行。查询变得更加复杂:
SELECT t1.*
FROM table t1
INNER JOIN (
SELECT id
FROM table
ORDER BY id DESC
LIMIT 10
) t2 ON t1.id = t2.id
ORDER BY t1.id ASC
LIMIT 1
这是我的代码。
$query="SELECT blog_id FROM myblogs_view where blog_id<'$id' ORDER BY blog_id DESC LIMIT 10";
$result=mysql_query($query);
while($row=mysql_fetch_row($result) or die(mysql_error())) {
echo $row;
}
返回一行中的值。如何仅访问最后一行中的值?