我会尽力解释这个问题。
我通过PHP foreach循环从MySQL数据库传入数据。它循环访问50多条记录,并根据不同的变量显示数据。我想在说出12条记录后停止循环,然后单击按钮显示下一条12,依此类推。
有没有办法在某次迭代中停止或暂停foreach循环,然后单击一个按钮再次“播放”循环再进行12次迭代?
下面我发布了这个foreach循环的简化示例。
foreach ($view->likeDataSet as $productData){
echo '<p class="pName">' . $productData->getPname() . '</p>';
}
这将加载我在我的数据库中的产品名称,并继续执行此操作直到所有记录
非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
您有两种选择:
简化示例:
$itemCount = $_GET['showitems'];
$mysqli = new mysqli(sqlhost, user, bassword, db);
$stmt = $mysqli->prepare('SELECT * FROM products LIMIT ?'); //prepare the statement
$stmt->bind_param('i', $itemCount); //bind parameters to the statement
$stmt->execute();
$result = $stmt->get_result();
...
your logic to transform the data into the $view->likeDataSet structure
...
foreach ($view->likeDataSet as $productData){
echo '<p class="pName">' . $productData->getPname() . '</p>';
}
echo '<a href="yourcript.php?showitems='.($itemCount + 10).'">Get next 10 rows</a>';
答案 1 :(得分:0)
你应该看看DataTables,假设你可以在你的应用程序中使用jQuery。它可以立即获取所有结果并允许您在整个列表中进行分页,过滤等,或者使用服务器端代码以块的形式提取数据