【问题标题】:Add one result from one query and then second from another one从一个查询中添加一个结果,然后从另一个查询中添加第二个结果
【发布时间】:2019-05-29 01:26:37
【问题描述】:

我有两个 MySQLi 查询和两个结果变量,如下所示

  1. $result = mysqli_query($con, $query);
  2. $result1 = mysqli_query($con, $query1);

我想做的是创建一个包含所有结果的数组,但条件是它必须包含来自$result 的一个结果,然后下一个应该来自$result1,下一个来自$result,依此类推,直到两个变量都有值。

while($row = mysqli_fetch_assoc($result))
{
    $links[] = $row["url"];
    while($row1 = mysqli_fetch_assoc($result1))
    {
        $links[] = $row1["ads_id"];
    }
}  

目前我有这个这样的工作方式,从$results 中添加一个值,然后从$results1 中添加所有值,然后再从$result 中添加所有值。

谁能帮我解决这个逻辑,我无法弄清楚这件事的逻辑。

【问题讨论】:

    标签: php mysqli while-loop phpmyadmin


    【解决方案1】:

    你可以试试这样的。它同时循环通过$result$result1,完成来自$result1 的任何剩余行:

    while ($row = mysqli_fetch_assoc($result)) {
        $links[] = $row["url"];
        if ($row1 = mysqli_fetch_assoc($result1))
            $links[] = $row1["ads_id"];
    }
    while ($row1 = mysqli_fetch_assoc($result1)) {
        $links[] = $row1["ads_id"];
    }
    

    【讨论】:

    • 如果两者都结束了,这将不起作用让我们说超过 2 个结果对吧?
    • 即使两者都有超过 10 个结果,我也需要它工作,我需要数组具有两个表中的备用值
    • 当然,不管每组有多少结果,它都会起作用。第一个 while 循环将处理来自第一个查询的所有结果以及来自第二个查询的任何匹配结果,第二个 while 循环将处理来自第二个查询的所有剩余结果。
    猜你喜欢
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2022-10-07
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    相关资源
    最近更新 更多