0

アイテムのリストを作成するデータを取得するテーブルがあります。

データは次のようになります。

Menu1,Header
Menu2,MenuItem
Menu3,MenuItem
Menu4,MenuItem
Menu5,MenuItem
Menu6,Header
Menu7,MenuItem
Menu8,MenuItem
Menu9,MenuItem
Menu10,MenuItem
...

私の配列は次のようにする必要があります。

MenuHeader -> MenuItem
           -> MenuItem
           -> MenuItem

MenuHeader -> MenuItem
           -> MenuItem
           -> MenuItem

何か案は?

4

1 に答える 1

0

一般的なアイデアのコードを次に示します。データベースとデータを操作するには、微調整する必要があります。可能であればこの方法を避け、データベースを調整して MenuItems をそれぞれのヘッダーに関連付けることをお勧めします。

<?php

    $mysqli = new mysqli("localhost", "user","password","database", "3306"); 
    $query = "SELECT id, title, type FROM tbl_name";
    $result = $mysqli->query($query);

    $array1 = array();
    $currentHeading = "undefined";

    while($row = $result->fetch_assoc())
    {
        if($row['type'] == 'MenuHeader') {
            $array1[$row['title']] = array();
            $currentHeading = $row['title'];
        } else {
            $array1[$currentHeading][] = $row['title'];
        }
    }
?>
于 2012-07-24T23:59:28.680 に答える