说休息还贴这么长的代码 -_-!看完了代码,得出如下结论
1. 这是一个使用树形结构显示的简易论坛,能显示贴子列表,添加主题.
2. 根据表结构得出数据结构使用了"插入排序法",极有可能是中值排序,ordernum为排序字段
3. Tree_control具有如下属性和方法
var $default_sql = array(); //保存SQL语句的数组
var $mode; //关联数组的索引,不太清楚用途.
var $tbl_name;//保存表名
var $fields; //保存字段值的对象
var $eof = false; //记录指针标识
function query( $sql ) //查询数据库函数
{
$res = mysql_query( $sql );
$this->next();
}
function next() //取出下一条记录
{
if( $this->$fields = mysql_fetch_object($res))
{
$this->eof = true;
}
else
{
$this->eof = false;
$this->fields = null;
}
}
function set_deep($str, $deep) //设置标题缩时
{
}
1. 这是一个使用树形结构显示的简易论坛,能显示贴子列表,添加主题.
2. 根据表结构得出数据结构使用了"插入排序法",极有可能是中值排序,ordernum为排序字段
3. Tree_control具有如下属性和方法
var $default_sql = array(); //保存SQL语句的数组
var $mode; //关联数组的索引,不太清楚用途.
var $tbl_name;//保存表名
var $fields; //保存字段值的对象
var $eof = false; //记录指针标识
function query( $sql ) //查询数据库函数
{
$res = mysql_query( $sql );
$this->next();
}
function next() //取出下一条记录
{
if( $this->$fields = mysql_fetch_object($res))
{
$this->eof = true;
}
else
{
$this->eof = false;
$this->fields = null;
}
}
function set_deep($str, $deep) //设置标题缩时
{
}
function set_deep($str, $deep) //设置标题缩时
{
return str_repeat(" ", $deep) . $str;
}function Add( $root_id, $data ) //添加主题, $root_id好像没用到,可能是错的
{
$sql = "SELECT @max_num:=MAX(ordernum)
FROM $this->tbl_name";
$sql = "INSERT INTO $this->tbl_name SET ordernum=@max_num*2," . $data;
return $this->query( $sql );
}function AddChild( $parent_id, $data )
{
$sql = "SELECT root_id, ordernum,=deep
FROM $this->tbl_name
WHERE id>=$parent_id
LIMIT 2";
$this->query( $sql );
$root_id = $this->fields->root_id;
$ordernum= $this->fields->ordernum;
$this->next();
$ordernum= ( $this->fields->ordernum + $ordernum )/2
$sql = "INSERT INTO $this->tbl_name
SET root_id=$root_id,ordernum=$ordernum,";
$sql .= $data;
$this->query( $sql );
}瞎猜的!!