【问题标题】:Array comparison with SQL与 SQL 的数组比较
【发布时间】:2017-09-30 21:03:49
【问题描述】:

我希望下面的代码将查询中的 SQL 信息与数组进行比较,以便即使同一事物在 SQL 中出现两次,也不会重复两次。

问题是一件事得到了两次回声。我在每个循环中使用print_r 来查看数组的变化情况,下面是它的作用:

数组( )

数组 ( [0] => my_preset )

数组([0] => my_preset [1] => test_preset)

PHP 代码:

$parentArray = array();
$sql = "SELECT * FROM wb_values";
$result = mysqli_query($conn, $sql);

while ($row = $result->fetch_assoc()) {
    print_r($parentArray);
    if (!in_array($row['parentID'], $parentArray)) {
        array_push($parentArray, $row['parentID']);

        foreach ($parentArray as $parent) {
            $sqlParent = "SELECT * FROM presets WHERE id='$parent'";
            $resultParent = mysqli_query($conn, $sqlParent);
            while ($row = $resultParent->fetch_assoc()) {

            echo "<div class='section'>
                    <div class='left-mark'></div>
                    <p class='text'> ".$row['preset_name']." </p>
                </div>";

            }

        }
        
    }
}

【问题讨论】:

    标签: php


    【解决方案1】:

    问题在于您在填充数组的循环内有foreach,因此每次添加新预设时,您还会打印数组中包含的其余预设。只需将foreach 放在循环之后,它应该可以正常工作:

    $parentArray = array();
    $sql = "SELECT * FROM wb_values";
    $result = mysqli_query($conn, $sql);
    
    while ($row = $result->fetch_assoc()) {
        print_r($parentArray);
        if (!in_array($row['parentID'], $parentArray)) {
            array_push($parentArray, $row['parentID']);
        }
    }
    
    foreach ($parentArray as $parent) {
        $sqlParent = "SELECT * FROM presets WHERE id='$parent'";
        $resultParent = mysqli_query($conn, $sqlParent);
        while ($row = $resultParent->fetch_assoc()) {
            echo "<div class='section'>
                <div class='left-mark'></div>
                <p class='text'> ".$row['preset_name']." </p>
            </div>";
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 1970-01-01
      • 2021-07-14
      • 2011-08-02
      • 1970-01-01
      • 2011-11-14
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多