gpt4 book ai didi

php - 在 php 中对列表进行分页

转载 作者:行者123 更新时间:2023-11-28 14:21:03 25 4
gpt4 key购买 nike

我有这个 php 代码,它使用用户 ID 从数据库中获取图像,然后以列表形式显示所有图像。我正在尝试对图像进行分页,每页最多 5 个元素。但代码只显示第一页,没有指向其他页面的链接。这是我的 PHP 代码

<?php
include 'connect.php';


$Category = " ";
$query = "SELECT Img_dir, Caption, Category FROM images WHERE Category = '". $_REQUEST['Category'] ."' AND user_id = '". $_SESSION['user_id'] ."' LIMIT 0,5";


$result = mysqli_query($conn,$query);


while ($row=mysqli_fetch_array($result)){
$image = $row["Img_dir"];
$Caption= $row["Caption"];
$Category = $row["Category"];
echo "<dl>";

echo "<dd>$Category &nbsp&nbsp <img src='base64_encode($image)' />&nbsp&nbsp $Caption<dd>";

echo "</dl>";
}
//number of total pages available
$results_per_page = 10;

$number_of_results = mysqli_num_rows($result);

echo $number_of_pages = ceil($number_of_results / $results_per_page);
echo "<br>"; echo "<br>";
for($r=1;$r<=$number_of_pages;$r++)
{
?><a href="dashboard.php?page=<?php echo $r;?>" style="text-decoration:none"><?php echo $r." "; ?></a><?php
}
?>

最佳答案

你可以试试这个:

更改您的查询(使用准备语句):

$query = "SELECT Img_dir, Category FROM images WHERE user_id = ? AND Category = ? ";

至于你的数据结构。

$results = [];
while ($row = $result->fetch_assoc()){
$key = $row['Category'];
if(!isset($results[$key])) $results[$key] = [];

$results[$key][] = $row['Img_dir ']; //['Category' => [Img_dir,Img_dir, ...]]
}

还有您的 HTML。我会使用描述列表或 dl,因为它有一个很好的标题位置:

  foreach($results as $Category => $image){
echo "<dl>";
echo "<dt>$Category</dt>";
foreach($data as $row){
echo "<dd><img src='base64_encode($image)' /><dd>";
}
echo "</dl>";
}

未经测试。

顺序可能很乱,所以你可以在上面使用ksort。简单

  ksort($results); 

foreach 循环之前。

干杯。

关于php - 在 php 中对列表进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55195413/

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