2012-07-19 51 views
0

我有一张表我从中获取数据创建了一个项目列表。将平面信息转换为多维数组PHP

的数据是这样的:

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 

什么想法?

+0

数据来自哪里,csv文件,网页? – 2012-07-19 04:20:56

+0

从MySql数据库中的表格 – user389391 2012-07-19 22:05:35

+0

您可以使用PHP连接到MySQL,编写您的查询并将其输出到PHP数组。 http://www.php.net/manual/en/mysqli-result.fetch-array.php – 2012-07-19 23:41:24

回答

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']; 
     } 
    } 
?> 
+0

THANKs我只能在下周进行测试。 – user389391 2012-07-26 07:53:14