我在.php页面上有以下代码,我想在表格中显示它,只显示最后10个条目
<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM dispenses";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<br> Amount: " . $row["amount"] . " - Time Dispensed: ". $row["dispensed"] . "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
答案 0 :(得分:1)
您可以将所有结果存储在一个数组中,然后只显示该数组的最后10个元素。
while($row = $result->fetch_assoc()) {
$results[] = $row;
}
for($i = count($results)-10; $i < count($results); $i++){
echo "<br> Amount: " . $results[$i]["amount"] . " - Time Dispensed: ". $results[$i]["dispensed"] . "<br>";
}
答案 1 :(得分:0)
您可以使用LIMIT
限制结果数量:
$sql = "SELECT * FROM dispenses LIMIT 10";
您也可以选择偏移量。请查看documentation了解更多信息。
p.s。 :所以为了按x
使用订单获取最后y
个条目,请使用:
$sql = "SELECT * FROM (SELECT * FROM dispenses ".
"ORDER BY y DESC LIMIT 10) AS intermediate ORDER by y ASC";
检查this Fiddle以查看其工作原理。我根据id或插入日期选择最后三个记录。我忘了在上面的陈述中定义别名。现在已修复。希望它有所帮助......