数据库结构<table width="300" border="0" align="center">
  <tr>
    <td align="center">id</td>
    <td align="center">name</td>
    <td align="center">fid</td>
    <td align="center">leven</td>
  </tr>
  <tr>
    <td align="center">1</td>
    <td align="center">手机</td>
    <td align="center">0</td>
    <td align="center">1</td>
  </tr>
  <tr>
    <td align="center">2</td>
    <td align="center">电脑</td>
    <td align="center">0</td>
    <td align="center">1</td>
  </tr>
  <tr>
    <td align="center">3</td>
    <td align="center">诺基亚</td>
    <td align="center">1</td>
    <td align="center">2</td>
  </tr>
  <tr>
    <td align="center">4</td>
    <td align="center">HP</td>
    <td align="center">2</td>
    <td align="center">2</td>
  </tr>
  <tr>
    <td align="center">5</td>
    <td align="center">三星</td>
    <td align="center">1</td>
    <td align="center">2</td>
  </tr>
  <tr>
    <td align="center">6</td>
    <td align="center">HP350</td>
    <td align="center">4</td>
    <td align="center">3</td>
  </tr>
  <tr>
    <td colspan="4" align="center">……</td>
  </tr>
</table>
我现在需要一个查询循环后能能够返回一个如下的数组
array(
   array(1,'手机','1'),
   array(3,'诺基亚','2'),
   array(5,'三星','2'),
   array(2,'电脑','1'),
   array(4,'HP','2'),
   array(6,'HP350','3') ,
    …… 
)
不是直接写出循环的显示页面
手机
--诺基亚
--三星
电脑
--HP
----HP350
我想得到数组,希望大哥们帮帮小弟,在此感谢了

解决方案 »

  1.   

    给你的表格取个id,假设叫tableid,执行下面的js代码
    var tablelist=document.getElementById('tableid')if(tablelist.rows.length>0){
    alert(tablelist.rows[0].cells[0].length)
    }如果你想用php实现
    假设你的内容存放在$content里面
    执行
      preg_match_all('/<tr>.*[\r\n]+.*<td align="center">(\w+)</td>.*[\r\n]+.*<td align="center">(\w+)</td>.*[\r\n]+.*<td align="center">(\w+)</td>.*[\r\n]+.*<td align="center">(\w+)</td>/',$content,$out);
    var_dump($out);
      

  2.   

    <?php
    $array = array(
      1=>array('id'=>1,'name'=>'手机','top'=>'0'),
      2=>array('id'=>3,'name'=>'诺基亚','top'=>'2'),
      3=>array('id'=>5,'name'=>'三星','top'=>'2'),
      2=>array('id'=>2,'name'=>'电脑','top'=>'1'),
      4=>array('id'=>4,'name'=>'HP','top'=>'2'),
      6=>array('id'=>6,'name'=>'HP350','top'=>'2'),
    );foreach ($array as $key => $val){
    if(empty($val['top']) === false){  // top为0就是顶层了.
    $array[$val['top']]['other'][] = &$array[$key];
    }
    }
    print_r($array);这段代码还是值得一看的, 多分析几次, 就理解了.