早上好......
我使用php MySQL将学生标记存储在数据库中....
我的数据库表是这样的......
25 63 96 85 65
56 56 96 36 23
56 78 98 45 12
现在我正在尝试显示数据库表中的最后两个值,并希望显示在我的网站上的任何其他位置......
我正在使用以下代码...
<?php
$q = "SELECT CONCAT (a) FROM record ORDER BY id DESC
LIMIT 1;";
$result = mysql_query($q);
$data = mysql_fetch_array($result);
echo $data[0];
?>
上面的代码只显示最后一个值....这是上面显示的12个表...
我想从上面显示的表中显示45和12这样......
{45} ==&GT; {12}
任何人都可以更正我的代码......
...谢谢
答案 0 :(得分:2)
在注释中指出Saitama,不推荐使用mysql_ *函数。最好使用PDO或mysqli_ *函数,因为它们将来会得到支持。
我在一开始就提到它,因为它对安全性和持续支持都非常重要。
话虽这么说,你需要做两件事才能得到你想要的结果。首先,您的查询必须返回多于1的值,因此LIMIT必须在sgeddes指出时增加,然后您必须显示这两个值,而不仅仅是返回值列表中的第一个值(这是{ {1}}现在正在做 - 只返回数组中的第一项。)
尝试这样的事情:
$data[0]
基本上,由于<?php
$q = "SELECT CONCAT (a) FROM record ORDER BY id DESC
LIMIT 2;";
$result = mysql_query($q);
$data = mysql_fetch_array($result);
echo "{" . $data[1] . "}==>{" . $data[0] . "}"; //prints: "{45}==>{12}"
?>
是一个数组,因此需要将其转换为字符串。我通过引用它的元素来做到这一点,但这是一个相当粗略的方法。例如,如果数据库中只有1个值,则尝试$data
会抛出通知,因为数组中没有第二个值。
echo $data[1]
是一个方便使用的方法,因为您可以将数组转换为字符串并使用值(如逗号)将值粘合在一起。
implode
如果您不确定某个数组中是否存在某个键,则可以使用echo implode(", ", $data); //prints "12, 45" (12 first because it is the first item in the array)
函数检查该键是否已设置(empty
),以及是否存在非假名值。
isset
文档:
if (empty($data[0] == false) {
echo $data[0];
}
if (empty($data[1] == false) {
echo $data[1];
}
文档:http://php.net/manual/en/book.pdo.php PDO
文档:http://php.net/manual/en/book.mysqli.php mysqli_*
文档:http://php.net/manual/en/function.implode.php implode
文档:http://php.net/manual/en/function.isset.php isset
文档:http://php.net/manual/en/function.empty.php 答案 1 :(得分:1)
$ query =“SELECT CONCAT(a)FROM record ORDER BY id DESC 限制2“;
按DESC限制2从数据库获取最后两条记录。