gpt4 book ai didi

PHP 显示每个 div 的一定数量的记录

转载 作者:行者123 更新时间:2023-11-28 16:36:00 25 4
gpt4 key购买 nike

好吧,我目前正在一个网站上工作,并且我试图在网站的一部分中显示来自 SQL 数据库的一些数据。我希望数据以此处所示的方式显示:

      <div class="project-list">
<ul>
<?php
try {

$stmt = $db->query('SELECT movieID, movieName, movieDesc, movieYear FROM latest ORDER BY movieID DESC');
while($row = $stmt->fetch()){
echo '<li>';
echo '<a href="#" class="no-underline">';
echo '<div class="project">';
echo '<h2 class="project-date">'.$row['movieYear'].'</h2>';
echo '<div class="poster"><img src="assets/img/FoTD_Poster.png" width="160" height="188"></div>';
echo '<h2 class="project-title" align="center"><b>'.$row['movieName'].'</b></h2>';
echo '</a>';
echo '</div>';
echo '</li>';
echo '<li>';
}

} catch(PDOException $e) {
echo $e->getMessage();
}
?>
</ul>
</div>

基本上这应该显示一条记录,但确实如此,我的问题是我的样式表设置方式是它只允许每个元素列表/行显示三个元素 div。而且我不太清楚如何制作它,所以我只能为每个 div 显示 3 条记录并用 PHP 重置。

最佳答案

如果我答对了您的问题,您希望使用 PHP 将 div 的数量限制为 3 个。尝试添加 LIMIT 3到您的 SQL 查询:

$stmt = $db->query('SELECT movieID, movieName, movieDesc, movieYear FROM latest ORDER BY movieID DESC LIMIT 3');

我还注意到有一个 echo '<li>';在你的 while 循环结束附近不合适。这可能是问题,也可能不是问题,但如果不需要,我会删除它。

编辑:我可以再试一次吗?

如果我这次没猜错,您希望 PHP 生成任意数量的 <div class="project-list">最多 3 <li>在他们每个人里面,对吧?

给你:

<?php
try {
// this line is for my local setup, you have to change or remove it:
$db = new PDO('mysql:host=localhost;dbname=stackmovies;charset=utf8', 'root', '');

$stmt = $db->query('SELECT movieID, movieName, movieDesc, movieYear FROM latest ORDER BY movieID DESC');
$i = 0;
while($row = $stmt->fetch()){
echo "\n"; // for debugging
if ($i % 3 == 0) {
echo '<div class="project-list">';
echo '<ul>';
}
echo "\n"; // for debugging
echo '<li>';
echo '<a href="#" class="no-underline">';
echo '<div class="project">';
echo '<h2 class="project-date">'.$row['movieYear'].'</h2>';
echo '<div class="poster"><img src="assets/img/FoTD_Poster.png" width="160" height="188"></div>';
echo '<h2 class="project-title" align="center"><b>'.$row['movieName'].'</b></h2>';
echo '</a>';
echo '</div>';
echo '</li>';
echo "\n"; // for debugging
if ($i % 3 == 2) {
echo '</ul>';
echo '</div>';
}
echo "\n"; // for debugging
$i++;
}
if ($i > 0 && ($i - 1) % 3 != 2) {
echo '</ul>';
echo '</div>';
}

} catch(PDOException $e) {
echo $e->getMessage();
}
?>

关于PHP 显示每个 div 的一定数量的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28423210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com