尝试使用php从数据库创建树列表。。怎么了

尝试使用php从数据库创建树列表。。怎么了,php,list,tree,Php,List,Tree,我只是 secondsecondsecond 这是我的数据 现在,问题已经解决了!!!!!!! 这是我的解决方案: function getListaa($id){ $sql = "select * from programs where itemRoot = '".$id."'"; $strss = ""; $dao1 = new DataAccess("localhost", "root",

我只是




  • second
  • secondsecond

  • 这是我的数据


    现在,问题已经解决了!!!!!!! 这是我的解决方案:

    
    
        function getListaa($id){
                $sql = "select * from programs where itemRoot = '".$id."'";
                $strss = "";
                $dao1 = new DataAccess("localhost", "root", "", "ecommercedb");
                $dao1->fetch($sql);
                while(($rows = $dao1->getNextRow()) )
                {
                    if (($dao1->executeNum("select * from programs where itemRoot = '".$rows['itemId']."'")) > 0) 
                    {
                        if($id != 0) $strss .= "
  • ".$rows['itemName']; $strss .= ""; $strss .= $this->getListaa($rows['itemId']); $strss .= ""; if($id != 0) $strss .= "
  • "; } else { $strss .= "
  • ".$rows['itemName']."
  • "; } } unset($dao1); return $strss; }
    
    函数getListaa($id){
    $sql=“从itemRoot=”“$id.”的程序中选择*;
    $strss=“”;
    $dao1=新的数据访问(“本地主机”、“根目录”、“电子商务数据库”);
    $dao1->fetch($sql);
    而(($rows=$dao1->getNextRow())
    {
    如果($dao1->executeNum(“从程序中选择*,其中itemRoot='”。$rows['itemId'].'”))>0)
    {
    如果($id!=0)$strss.=“
  • ”$rows['itemName']; $strss.=”; $strss.=$this->getListaa($rows['itemId']); $strss.=”; 如果($id!=0)$strss.=“
  • ”; } 其他的 { $strss.=“
  • ”$rows['itemName']。“
  • ”; } } 未结算(1美元); 返回$strs; }
    --
    -- Table structure for table `programs`
    --
    
    CREATE TABLE IF NOT EXISTS `programs` (
      `itemId` int(11) NOT NULL AUTO_INCREMENT,
      `itemName` varchar(250) NOT NULL,
      `itemPrice` float DEFAULT NULL,
      `itemDesc` text,
      `itemRoot` int(11) NOT NULL,
      `itemDateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`itemId`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
    
    --
    -- Dumping data for table `programs`
    --
    
    INSERT INTO `programs` (`itemId`, `itemName`, `itemPrice`, `itemDesc`, `itemRoot`, `itemDateTime`) VALUES
    (1, 'root', NULL, NULL, 0, '2013-12-15 13:22:03'),
    (3, 'second', NULL, NULL, 1, '2013-12-15 13:22:13'),
    (4, 'frist', NULL, NULL, 1, '2013-12-15 13:22:36'),
    (5, 'secondfrist', NULL, NULL, 3, '2013-12-15 13:23:46'),
    (6, 'secondsecond', NULL, NULL, 3, '2013-12-15 13:23:46'),
    (7, 'fristfrist', NULL, NULL, 4, '2013-12-15 13:24:02');
    
    +--------------------+--------------+---------------+------------+----------+ | itemId | ItemName | itemPrice | itemDesc | itemRoot | +--------------------+--------------+---------------+------------+----------+ | 1 | root | NULL | NULL | 0 | | 3 | second | NULL | NULL | 1 | | 4 | frist | NULL | NULL | 1 | | 5 | secondfrist | NULL | NULL | 3 | | 6 | secondsecond | NULL | NULL | 3 | | 7 | fristfrist | NULL | NULL | 4 | +--------------------+--------------+---------------+------------+----------+
    
    
        conn = mysql_pconnect($host, $user, $pass);
                mysql_select_db($dbname, $this->conn);
            }
    
            /**
            * Execute a query like insert, delete or update
            * @param $sql string
            * @return void
            */
            function execute($sql) {
    
                return mysql_query($sql,$this->conn);
            }
            function executeNum($sql) {
    
                return mysql_num_rows(mysql_query($sql,$this->conn));
            }
            /**
            * Fetches a query resources and stores it in a local member
            * @param $sql string
            * @return void
            */
            function fetch($sql) {
                $this->result = mysql_query($sql,$this->conn);
            }
            /*function getRowsNum(){
                return $this->result->num_rows;
            }*/
            /**
            * Returns an associative array of a query row
            * @return Array
            */
            function getNextRow() {
                if( $row = mysql_fetch_array($this->result) )
                    return $row;
                else
                    return null;
            }
        }
        ?>
    
    
    
    
        function getListaa($id){
                $sql = "select * from programs where itemRoot = '".$id."'";
                $strss = "";
                $dao1 = new DataAccess("localhost", "root", "", "ecommercedb");
                $dao1->fetch($sql);
                while(($rows = $dao1->getNextRow()) )
                {
                    if (($dao1->executeNum("select * from programs where itemRoot = '".$rows['itemId']."'")) > 0) 
                    {
                        if($id != 0) $strss .= "
  • ".$rows['itemName']; $strss .= ""; $strss .= $this->getListaa($rows['itemId']); $strss .= ""; if($id != 0) $strss .= "
  • "; } else { $strss .= "
  • ".$rows['itemName']."
  • "; } } unset($dao1); return $strss; }