Php 在while循环中分配DIV
大家好,提前谢谢。所以我有一个while循环,看起来像这样:Php 在while循环中分配DIV,php,sql,Php,Sql,大家好,提前谢谢。所以我有一个while循环,看起来像这样: <?php $limit = 4; $countSql = "SELECT COUNT(book_id) FROM books"; $tot_result = mysqli_query($conn, $countSql); $row = mysqli_fetch_row($tot_result); $total_records = $row[0]; $total_pages = c
<?php
$limit = 4;
$countSql = "SELECT COUNT(book_id) FROM books";
$tot_result = mysqli_query($conn, $countSql);
$row = mysqli_fetch_row($tot_result);
$total_records = $row[0];
$total_pages = ceil($total_records / $limit);
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $limit;
$sql = "SELECT * FROM books ORDER BY book_id DESC LIMIT $start_from, $limit";
$rs_result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($rs_result)) {
$book_titlel=$row['book_titlel'];
$book_titlel=sanitize($book_titlel);
echo "<div class='grid_2 col-md_4'><div class='box_9'><div class='img-wrap'><a href='book/".$book_titlel."/".$row['book_id']."'><img alt='".$row['book_title']."' data-src='images/books/".$row['book_picture'].".jpg' src='images/preloader.gif'></a></div><div class='caption'><div class='rating-bar'><div class='rating' style='width: 50%'></div></div><h3 class='text_5 color_1'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_title']."</a></h3><p class='text_6 color_3'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_author']."</a></p></div></div></div>";
};
?>
在你的循环前面,我把打开的div放在你的包装器上,然后每进入第四个循环,它就会关闭div并打开一个新的
<?php
$limit = 4;
$countSql = "SELECT COUNT(book_id) FROM books";
$tot_result = mysqli_query($conn, $countSql);
$row = mysqli_fetch_row($tot_result);
$total_records = $row[0];
$total_pages = ceil($total_records / $limit);
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $limit;
$sql = "SELECT * FROM books ORDER BY book_id DESC LIMIT $start_from, $limit";
$rs_result = mysqli_query($conn, $sql);
$i = 0;
echo '<div id="yourwrapper">';
while ($row = mysqli_fetch_assoc($rs_result)) {
if($i %4 == 0){echo '</div><div id="yourwrapper">';}
$book_titlel=$row['book_titlel'];
$book_titlel=sanitize($book_titlel);
echo "<div class='grid_2 col-md_4'><div class='box_9'><div class='img-wrap'><a href='book/".$book_titlel."/".$row['book_id']."'><img alt='".$row['book_title']."' data-src='images/books/".$row['book_picture'].".jpg' src='images/preloader.gif'></a></div><div class='caption'><div class='rating-bar'><div class='rating' style='width: 50%'></div></div><h3 class='text_5 color_1'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_title']."</a></h3><p class='text_6 color_3'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_author']."</a></p></div></div></div>";
$i++;
};
echo '</div>';
?>
您可以尝试以下方法:
<?php
...
$temp_count = 0;
echo "<div class='row'>";
while($row = mysqli_fetch_assoc($rs_result)){
if($temp_count == 4){
echo "</div><div class='row'>";
$a = 0;
}
echo {YOUR_DATA};
$temp_count++;
}
echo "</div>";
?>
看看这个:$opened代表什么?我想它没有定义我想我把它拿走了?这只是一个想法,当我回答你的代码,我编辑删除它@TsvetilinBoynovski@TsvetilinBoynovski我再次编辑代码并将$I++放在循环中的较低位置,因为在最初的版本中,第一次运行可能只处理div中的3个元素,现在应该可以工作了。是吗?首先谢谢,非常感谢!现在,当我尝试它时,我发现div肯定有问题,因为它破坏了UI。我试图理解if部分,对我来说似乎很复杂。在它们之前打开div class=row,它在哪里关闭?循环将如何在一个新的div class=row中显示每4个结果,我无法理解。某些div一定不能关闭,我想…应该是if($I%4==0)而不是if($I%4!=0)吗