将数据组合成一个数组

时间:2019-03-22 08:46:55

标签: php mysql select mysqli left-join

你能告诉我我想念的东西吗?我如何将所有数据放在一个数组中? 查询atm看起来像这样

$query = $this->db->query("SELECT
                        oc_fast_order_option.*,
                        oc_product_description.name AS product_name,
                        oc_fast_order.quantity
                        FROM oc_fast_order_option
                        LEFT JOIN oc_fast_order ON (oc_fast_order.id = '" . $order_id . "')
                        LEFT JOIN oc_product_description ON (oc_product_description.product_id = oc_fast_order.product_id)
                        WHERE order_id = '" . $order_id . "'");

    return $query->rows;

此查询的结果分为几个数组,当我循环时我无法正确显示结果

Array
(
[0] => Array
    (
        [order_option_id] => 56
        [order_id] => 118
        [order_product_id] => 52
        [product_option_id] => 745
        [product_option_value_id] => 1104
        [name] => Цветове:
        [value] => Черен
    )

[1] => Array
    (
        [order_option_id] => 55
        [order_id] => 118
        [order_product_id] => 52
        [product_option_id] => 746
        [product_option_value_id] => 0
        [name] => new input
        [value] => 3
    )
)

我如何得到这样的东西?

 Array
  (
    [option_id] = >
     Array(
    [order_option_id] => 56
    [order_option_id] => 55
     )

    [order_id] => 118
    [order_product_id] => 52
    [product_option_id] => 745
    [product_option_value_id] => 1104
    [options] = > 
    Array(
    [name] => Цветове:
    [value] => Черен
     )
)

我想做的是将它们循环并放入一个数组

foreach ($query->rows as $data) {
                    $data['info_options'][] = array(
                        'options'       => array(
                        'option_name'           => $data['name'],
                        'value_name'            => $data['value']
                        ),
                        'quantity'  => $data['quantity'],
                        'product_link'  => HTTP_CATALOG.'index.php?route=product/product&product_id=' . $product_id,
                        'product_name'  => $data['product_name']
                    );
                }

但结果仍然不令人满意

Array
(
[0] => Array
    (
        [options] => Array
            (
                [option_name] => Цветове:
                [value_name] => Черен
            )

        [quantity] => 1
        [product_name] => aapp
    )

[1] => Array
    (
        [options] => Array
            (
                [option_name] => new input
                [value_name] => 3
            )

        [quantity] => 1
        [product_name] => aapp
    )

[2] => Array
    (
        [options] => Array
            (
                [option_name] => Custom-Input
                [value_name] => 5
            )

        [quantity] => 1
        [product_name] => aapp
    )

)

更新 终于我得到了我需要的东西

Array
(
[op] => Array
    (
        [0] => Array
            (
                [name] => Цветове:
                [value] => Черен
            )

        [1] => Array
            (
                [name] => new input
                [value] => 3
            )

        [2] => Array
            (
                [name] => Custom
                [value] => 5
            )

    )

[name] => aapp
[quantity] => 1
)

我所做的是2个查询,一个查询选项,一个查询其他信息 然后我循环选项查询并将结果放入一个数组中,然后循环第二次查询并将其放入新数组中,我添加并选择数组

0 个答案:

没有答案