繁体   English   中英

如何在另一个表列中插入一个表数据

[英]How to insert one table data inside another table column

我有表server_menuresponse,其列ID为menu_order menu_name menu_link data_icon sub_menu和另一个表sub_menu,其列为id mainmenu_id submenu_order submenu_name submenu_link submenu_icon

我想获取server_menuresponse的sub_menu列内的sub_menu表的所有列

结果应该像这张图片

我想要php结果应该是这样的:

<?php
stdClass::__set_state(array(

   'server_menuresponse' => 
  array (
    0 => 
    stdClass::__set_state(array(
       'id' => '1',
       'menu_order' => '1',
       'menu_name' => 'Home',
       'menu_link' => '',
       'data_icon' => '',
       'sub_menu' => 
      array (
      ),
    )),
    1 => 
    stdClass::__set_state(array(
       'id' => '2',
       'menu_order' => '2',
       'menu_name' => 'New',
       'menu_link' => '',
       'data_icon' => '',
       'sub_menu' => 
      array (
        0 => 
        stdClass::__set_state(array(
           'id' => '5',
           'mainmenu_id' => '2',
           'submenu_order' => '3',
           'submenu_name' => 'Auto',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/auto.png',
        )),
        1 => 
        stdClass::__set_state(array(
           'id' => '4',
           'mainmenu_id' => '2',
           'submenu_order' => '2',
           'submenu_name' => 'Bike',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/bike.png',
        )),
        2 => 
        stdClass::__set_state(array(
           'id' => '6',
           'mainmenu_id' => '2',
           'submenu_order' => '4',
           'submenu_name' => 'Bus',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/bus.png',
        )),
        3 => 
        stdClass::__set_state(array(
           'id' => '3',
           'mainmenu_id' => '2',
           'submenu_order' => '1',
           'submenu_name' => 'Car',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/car.png',
        )),
        4 => 
        stdClass::__set_state(array(
           'id' => '1',
           'mainmenu_id' => '2',
           'submenu_order' => '6',
           'submenu_name' => 'Find All New Vehicle',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/new_vehicle.png',
        )),
        5 => 
        stdClass::__set_state(array(
           'id' => '7',
           'mainmenu_id' => '2',
           'submenu_order' => '5',
           'submenu_name' => 'Lorry',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/lorry.png',
        )),
        6 => 
        stdClass::__set_state(array(
           'id' => '2',
           'mainmenu_id' => '2',
           'submenu_order' => '7',
           'submenu_name' => 'New Vehicle Offer',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/new_offer.png',
        )),
      ),
    )),
    2 => 
    stdClass::__set_state(array(
       'id' => '3',
       'menu_order' => '3',
       'menu_name' => 'Used',
       'menu_link' => '',
       'data_icon' => '',
       'sub_menu' => 
      array (
        0 => 
        stdClass::__set_state(array(
           'id' => '11',
           'mainmenu_id' => '3',
           'submenu_order' => '3',
           'submenu_name' => 'Auto',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/auto.png',
        )),
        1 => 
        stdClass::__set_state(array(
           'id' => '10',
           'mainmenu_id' => '3',
           'submenu_order' => '2',
           'submenu_name' => 'Bike',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/bike.png',
        )),
        2 => 
        stdClass::__set_state(array(
           'id' => '12',
           'mainmenu_id' => '3',
           'submenu_order' => '4',
           'submenu_name' => 'Bus',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/bus.png',
        )),
        3 => 
        stdClass::__set_state(array(
           'id' => '9',
           'mainmenu_id' => '3',
           'submenu_order' => '1',
           'submenu_name' => 'Car',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/car.png',
        )),
        4 => 
        stdClass::__set_state(array(
           'id' => '8',
           'mainmenu_id' => '3',
           'submenu_order' => '5',
           'submenu_name' => 'Find All Used Vehicle',
           'submenu_link' => '',
           'submenu_icon' => 'menu_icon/new_vehicle.png',
        )),
      ),
    )),
    3 => 
    stdClass::__set_state(array(
       'id' => '4',
       'menu_order' => '4',
       'menu_name' => 'News & Reviews',
       'menu_link' => '',
       'data_icon' => '',
       'sub_menu' => 
      array (
        0 => 
        stdClass::__set_state(array(
           'id' => '15',
           'mainmenu_id' => '4',
           'submenu_order' => '3',
           'submenu_name' => 'Car Videos',
           'submenu_link' => '',
           'submenu_icon' => '',
        )),
        1 => 
        stdClass::__set_state(array(
           'id' => '17',
           'mainmenu_id' => '4',
           'submenu_order' => '5',
           'submenu_name' => 'Feature Stories',
           'submenu_link' => '',
           'submenu_icon' => '',
        )),
        2 => 
        stdClass::__set_state(array(
           'id' => '14',
           'mainmenu_id' => '4',
           'submenu_order' => '2',
           'submenu_name' => 'Road Test',
           'submenu_link' => '',
           'submenu_icon' => '',
        )),
        3 => 
        stdClass::__set_state(array(
           'id' => '13',
           'mainmenu_id' => '4',
           'submenu_order' => '1',
           'submenu_name' => 'User Reviews',
           'submenu_link' => '',
           'submenu_icon' => '',
        )),
        4 => 
        stdClass::__set_state(array(
           'id' => '16',
           'mainmenu_id' => '4',
           'submenu_order' => '4',
           'submenu_name' => 'Write Review',
           'submenu_link' => '',
           'submenu_icon' => '',
        )),
      ),
    )),
  ),
 ),
));
?>

我完全改变了我的答案!

基于以下问题的答案: 如何在php中对左联接查询返回的数组数据进行分组

我认为您要进行两个查询。 像这样:

$data = array();

// get all the menu items 
$rows = $db->query("SELECT * from server_menuresponse order by id");
while ($row = mysqli_fetch_assoc($rows)) {
    $row['sub_menu'] = []; // blank array for sub menu
    $data[$row['id']] = $row;
}

// get sub menu items, add them to the correct menu item
$rows = $db->query("SELECT * from sub_menu order by mainmenu_id, id");
while ($row = mysqli_fetch_assoc($rows)) {
    $data[$row['mainmenu_id']]['sub_menu'][] = $row;
}

print_r($data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM