我的代码在单个图像中显示数据库中的所有值,我希望每个图像从最后2个值开始在数据库中仅显示一个值。是否有帮助?以下是我的代码
<div class="col-xs-3 col-sm-3 col-md-3">
<img src="grey.jpg">
<div class="top-left"> <p><?php $servername = "localhost";
$username = "root";
$password = "";
$dbname = "software";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT ID, description FROM test";
$result = $conn->query($sql);
//if ($result->num_rows == 1) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo " ". $row["description"]. "<br>";
}
//} else {
// echo "0 results";
//} ?> </p></div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<img src="imagesb.jpg">
</div>
您可以使用
之类的东西从数据库中获得最后两行SELECT ID, description FROM test ORDER BY ID DESC LIMIT 2
(或您要订购的任何列(。
至于您想要的输出方式,尚不清楚您在问什么,但听起来您想在DIV标签外移动时循环。类似...
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "software";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT ID, description FROM test ORDER BY ID DESC LIMIT 2"; // Last 2 rows
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) : ?>
<div class="col-xs-3 col-sm-3 col-md-3">
<img src="grey.jpg">
<div class="top-left">
<p><?php echo htmlspecialchars($row["description"], ENT_QUOTES); ?></p>
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<img src="imagesb.jpg">
</div>
<?php endwhile;
请记住,每当您输出任何变量/DB内容时,您需要逃脱它(在这种情况下为HTMLSpecialChars(,否则您的页面可能会被黑客入侵。这是我发现的一个随机链接,涵盖了基础知识https://www.inanimatt.com/php-actput-escaping.html