【发布时间】:2019-07-12 02:52:14
【问题描述】:
更新***我正在尝试对这个 foreach 循环的结果进行分页。这几乎有效。我能够获得分页所需的所有信息,但所有结果都显示在每一页上。记录数正确,生成的页码正确。我所缺少的只是在每一页上显示正确数量的记录。我知道我需要将“LIMIT”部分添加到 sql 但在哪里?
UPDATE#2 - LIMIT 有效,但是,我发现显示的记录仅被视为 1 条记录,因为它们位于 1 个字段的列表中。因此,我需要以某种方式将结果分解为单独的部分以进行准确计数。我希望这是有道理的。
//$page is generated on another page and is working correctly
$sql = mysqli_query($con, "SELECT * FROM profile_tbl WHERE X_reg_id = '$var_reg_id'");
while($field = mysqli_fetch_assoc($sql)){
$list = $field['profile_choose_them'];
$list_count = preg_split("/((\r?\n)|(\r\n?))/", $list);
$records_per_page = 3;
$item_count= count($list_count);
$item_count_adj_total_records = ($row_count-1);
$total_pages = ceil($item_count_adj_total_records/$records_per_page);
$offset = (($page-1)*$records_per_page);
}
foreach(preg_split("/((\r?\n)|(\r\n?))/", $list) as $id){
$single = mysqli_query($con, "SELECT * FROM profile_tbl WHERE X_reg_id = '$id'");
while($display = mysqli_fetch_assoc($single)){
echo '<div><img src="'.$display["profile_pic_main"] .'"></div>';
}
}
for($page=1;$page<=$total_pages;$page++){
echo '<a href="../../'.$var_return_ref.'?page='.$page.'">'.$page.'</a> ';
}
我试过了,但它不显示我的项目,只显示页码
$single = mysqli_query($con, "SELECT * FROM profile_tbl WHERE X_reg_id = '$id' LIMIT ($offset, $item_count_adj_total_records)");
【问题讨论】:
-
您已经搜索过类似这样的其他问题,对吧?您已经拒绝了哪些解决方案?请编辑您的问题以提供更多详细信息。
-
是的,我已经搜索了 DAYS...很多小时尝试不同的“解决方案”,如果不这样做,我什至不会打开这个网站。我所有的尝试都失败了,否则我不会在这里。我认为我的问题是直截了当的。我需要对该代码进行分页。就是这样。
-
您将三个循环嵌套在另一个循环中。这完全不清楚。你为什么需要这个?对于您需要做的事情,您的代码看起来非常复杂
-
对,我同意,我不知道怎么清理!
标签: php sql mysqli foreach pagination