gpt4 book ai didi

php - 如何在分页元素中实现最后的步骤?

转载 作者:太空宇宙 更新时间:2023-11-04 05:22:16 24 4
gpt4 key购买 nike

我正在对我的网站进行第一个分页实现。我觉得我非常接近,只是混淆了我的逻辑或者错误地放置了某些变量的位置或实际值。

代码如下:

                    $pgsize_wave = 40;
$pg_wave = (is_numeric($_GET["p"]) ? $_GET["p"] : 1);
$start = ($pg_wave-1)*$pgsize_wave;
$waves = mysql_query("SELECT * FROM `CysticAirwaves` LIMIT $start, $pgsize_wave");
$waves_total = mysql_query("SELECT COUNT(1) FROM `CysticAirwaves`");
$waves_total = mysql_fetch_row($waves_total);
$waves_total = $waves_total[0];
$max_pages = $waves_total / $pgsize_wave;
$max_pages = ceil($waves_total/$pgsize_waves);


?>



<div id="all_page_turn">
<ul>

<?php if($waves_total > 40 && $pg_wave >= 40) { ?>
<li class="PreviousPageBlog round_10px">
<a href="Airwave_build.php?id=<?php echo $pg_wave - 40); ?>">Previous Page</a>
</li>
<?php } ?>

<?php if($waves_total > 40 && $pg_wave < ($waves_total-40)) { ?>
<li class="NextPageBlog round_10px">
<a href="Airwave_build.php?id=<?php echo ($pg_wave + 40); ?>">Next Page</a>
</li>
<?php } ?>

</ul>
</div>

为了澄清任何混淆,电波是来自用户的帖子,我想限制每页 40 个。如果这里有帮助,请在同一页面上查询电波:

$query = "SELECT * FROM `CysticAirwaves` WHERE `FromUserID` = `ToUserID` AND `status` = 'active' ORDER BY `date` DESC, `time` DESC";
$request = mysql_query($query,$connection);
$counter = 0;
while($result = mysql_fetch_array($request)) {

$replies_q = "SELECT COUNT(`id`) FROM `CysticAirwaves_replies` WHERE `AirwaveID` = '" . $result['id'] . "' && `status` = 'active'";
$request2 = mysql_query($replies_q,$connection);
$replies = mysql_fetch_array($request2);
$replies_num = $replies['COUNT(`id`)'];

$counter++;
$waver = new User($result['FromUserID']);

非常感谢。

最佳答案

这是伪代码,但希望能解释其中的逻辑。

$total        = SELECT COUNT(*) FROM `waves`
$currentPage = 1 // changes through page parameter in URL
$wavesPerPage = 40
$totalPages = ceil($total / $wavesPerPage)
$offset = ($wavesPerPage * ($currentPage - 1)) + 1

$waves = mysql_query("SELECT * FROM `waves` LIMIT $offset, $wavesPerPage");

while ($row = mysql_fetch_assoc($waves)) {
echo $row['wave']

}

输出分页链接:

if ($totalPages > 1) {
if ($currentPage > 1) {
printf('<a href="waves.php?page=%u">Previous</a>', $currentPage - 1);
}

for ($i = 1; $i <= $totalPages; $i++) {
$class = ($i == $currentPage) ? 'selected' : null;
printf('<a href="waves.php?page=%1$u" class="%2$s">Page %1$u</a>', $i, $class);
}

if ($currentPage < $totalPages) {
printf('<a href="waves.php?page=%u">Next</a>', $currentPage + 1);
}
}

关于php - 如何在分页元素中实现最后的步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287209/

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