PHP/MySQLi - Combining for and while



为了简单起见,我试图将两个页面合并为一个页面,但是要做到这一点,我需要找到一种方法将一个页面的 for(( 循环与另一个页面的 while(( 循环结合起来,以便它们都以相同的方式工作。

这是他们目前的样子:

for($i = 0; $i < $count; $i++) {

while($widget = $grabWidget->fetch_array()) {

如您所见,for(( 循环不会遍历 MySQLi 查询,而是一个与数据库中的值相同的值数组。

第二个 while(( 循环从数据库中获取一组相同的值。但是,他们都必须留在目前的基础上。

我的问题是,两个循环是否可以组合成一个,同时仍然能够遍历单个数据库数组元素?

提前致谢:)

编辑:根据要求,这是循环的两种用法。

if($grabWidget = $db->query("SELECT * FROM editor_widgets"))
{
    while($widget = $grabWidget->fetch_array())
    {
        $id = $core->input($widget[1]);
        $coords[0] = $core->input($widget[4]);
        $coords[1] = $core->input($widget[5]);
        $temp = $core->input($widget[2]);
        $content_out = $core->output($widget[3],true);

if(isset($_POST['widgets']))
{
    $widget = $_POST['widgets'];
    $count = count($widget);
    for($i = 0; $i < $count; $i++)
    {
        $id = $core->input($widget[$i][0]);
        $content_in = $core->input($widget[$i][1]);
        $coords[0] = $core->input($widget[$i][2][0]);
        $coords[1] = $core->input($widget[$i][2][1]);
        $temp = $core->input($widget[$i][3]);
        $content_out = $core->output($widget[$i][1],true);

新的简化页面必须能够从数组或 MySQLi 查询进行循环访问。所以基本上,我想使用 for(( 循环并让它也可以与 MySQLi 一起使用

添加一个中间人$i

,而它就在里面。
$i=0;
while($widget = $grabWidget->fetch_array()) {
++$i;
// YOUR CODE
}

最新更新