从数组中的数据库获取多行

雅各布

使用下面的代码,我得到类别的ID和该类别中的产品名称。将显示类别ID,并在其下显示带有该类别产品名称的select。现在看起来像这样:

<label>37</label> <!--category id-->
<select>
<option>product one</option>
<option>product two</option>
</select>

但是我需要它来显示类别名称和选项值产品ID。像这样:

<label>category name</label>
<select>
<option value="1">product one</option>
<option value="2">product two</option>
</select>

如何在下面的代码中实现?

    $categories = array();
    $sql= "
SELECT a.id
     , a.name
     , a.active
     , b.id product_id
     , b.name product_name
     , b.flag_active
     , c.product_id
     , c.group_id 
  FROM products_groupnames a 
  JOIN products_group c 
    ON a.id = c.group_id 
  JOIN products_name b 
    ON b.id = c.product_id
 WHERE a.active=1 
   AND b.flag_active = 1
";
    $result = $mysqli->query($sql);
    echo "<h4>Select products by groups</h4>";
    while($row = $result->fetch_assoc()) {
        $categories[$row['id']][] = $row['product_name'];
    }

    foreach($categories as $key => $category){
        echo '<label>'.$key.'</label><br/>';
        echo '<select>';
        foreach($category as $item){
            echo "<option>".$item."</option>";
        }
        echo "</select><br/>";
    }
巴尔玛

使您的$categories数组二维:

while ($row = $result->fetch_assoc()) {
    $cat = $row['id'];
    if (isset($categories[$cat])) {
        $categories[$cat]['products'][] = $row;
    } else {
        $categories[$cat] = array('name' => $row['name'], products => array($row));
    }
}

然后可以使用嵌套循环显示它:

foreach ($categories as $category) {
    echo '<label>'.$category['name'].'</label>';
    echo '<select>';
    foreach ($category['products'] as $prod) {
        echo '<option value="'.$prod['product_id'].'">'.$prod['product_name'].'</option>';
    }
    echo '</select><br/>';
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使数组从Laravel中的数据库中获取数据

来自分类Dev

从数据库项数组中获取属性数组

来自分类Dev

使用Rails 3从数据库中获取数据数组

来自分类Dev

如何基于数组从mysql数据库中获取数据

来自分类Dev

数组总和,从数据库中获取数据

来自分类Dev

在Laravel中更新数据库的多行

来自分类Dev

如何从Rails中的数据库获取数组

来自分类Dev

尝试在Smarty中获取表和数据库的数组

来自分类Dev

对从数据库中获取的对象数组进行排序

来自分类Dev

如何获取json数组并插入数据库中。的PHP

来自分类Dev

无法从 firebase 数据库中获取数组值

来自分类Dev

搜索从数据库中获取的 json 数组

来自分类Dev

使用 Laravel 从 json 数组中获取数据库表

来自分类Dev

MySQL/PHP - 从数据库中删除多行的复选框数组

来自分类Dev

如何使用php在数据库的json数组中插入多行

来自分类Dev

PHP数组未向数据库插入多行

来自分类Dev

使用javaScript从WebSQL数据库返回多行作为数组

来自分类Dev

PHP数组未向数据库插入多行

来自分类Dev

从mysql数据库获取多维数组

来自分类Dev

在简单数据库中合并多行数据

来自分类Dev

如何显示数据库中存储的多行数据

来自分类Dev

从数据库中的表获取数据

来自分类Dev

从UserSpice中的数据库获取数据

来自分类Dev

无法从数据库中获取数据

来自分类Dev

如何从数据库中获取数据?

来自分类Dev

从UserSpice中的数据库获取数据

来自分类Dev

PHP从数据库中获取数据

来自分类Dev

从FMDB数据库中获取数据

来自分类Dev

来自数据库的多行