编号使用Level字段算出来的。就是上面的程序,已经把编号算好了,就是我不会把编号和内容和在一起了。不知道怎么一一对应了

解决方案 »

  1.   

    我想显示形势如下:编号是根据级别算出来的,算法是唠叨大哥教我的!级别(Level)和内容(Content)在一个表中。我希望在显示的时候一一对应,一个编号对应一个Content!其实就是级别(Levle)和content一一对应,只是现在用级别算成编号,在一一对应。。编号       文章(content)        
    1          文章1      
    1.1        文章2      
    1.2        文章2
      

  2.   

    你可以重组一下数组,不一定要照搬人家给你的算法嘛。
    比如:(供参考)
    <?
    $sql="select Level(级别),Order(序号),Content(内容),Id from table";
    $res=mysql_query($sql);
    while($row=mysql_fetch_array($res))
    {
    $ar[] = $row[Level];
    }$level = array();
    foreach($ar as $v) {
    if($level[$v]) {
    $level[$v]++;
    foreach($level as $i=>$t) {
    if($i > $v) unset($level[$i]);
    }
    }else $level[$v] = 1;
    //echo "<tr><td>".join('.', $level)."</td></tr>";
    $new[]=$level;
    }
    foreach($new as $key=>$value)
    {
      $e[] = implode('.',$value);
    }
    print_r($e);exit;
    ?>
    将数组打印出来,是不是进了一步?
      

  3.   

    $swl="select Level(级别),Order(序号),Content(内容),Id from table";
    理解算法是重要的,学会变通是更重要的!$swl="select Level(级别),Order(序号),Content(内容),Id from table";
    $res=mysql_query($sql);$level = array();
    while($row=mysql_fetch_array($res)){
      $v = $row[Level];
      if($level[$v]) {
        $level[$v]++;
        foreach($level as $i=>$t) {
          if($i > $v) unset($level[$i]);
        }
      }else $level[$v] = 1;
      echo "<tr><td>".join('.', $level)."</td><td>其他的$row项</td></tr>";
    }
      

  4.   

    谢谢湖水清澈,你这个编号显示是正确的,但是我怎么把这个和content对应起来呢,,麻烦你提供一下思路!能让他们在表格中显示出来。。即:编号       文章(content)        
    1          文章1      
    1.1        文章2      
    1.2        文章3
    2          文章4