<?php
class nolimit
{
function __construct()
{
}
/**
* print_list用于生成一个管理菜单,用于添加,删除子类
*
* $parents 父数组
* $subids 所有arr[父id] => 子id
* $name 键与名子的对应arr[id]=$name
*
* $sql= 'select * from new order by name DESC';
* mysql_query('set names gbk');
* $result = mysql_query($sql);
* while($row = mysql_fetch_object($result)){
* $subid[$row->parentid][] = $row->id;
* $name[$row->id] = $row->name;}
* print_list($subid[0],$subid,$name);
*
* 当其用于查找时,代码
* echo "<ul>";
* echo $name[$parentid];
* echo "<a href=\"classadd.php?parentid=$parentid\">[添加]</a>\n";
* echo "<a href=\"classdel.php?arentid=$parentid\">[删除]</a>\n";
* echo "<a href=\"find.php?parentid=$parentid\">[查找]</a></li>\n";
* print_list($subid[$parentid],$subid,$name);
* echo "</ul>";
*/
function print_list($parents,$subids,$name,$indent=0){
$list = '<tr>';
if(is_array($parents))
{
foreach ($parents as $parent){
$list.= "<td><strong>".str_repeat(' ',$indent).$name[$parent]."</strong></td>";
$list.= "<td><a href=\"classadd.php?parentid=$parent\">[添加]</a>";
$list.= "<a href=\"classdel.php?parentid=$parent\">[删除]</a>";
$list.= "<a href=\"find.php?parentid=$parent\">[查找]</a></td></tr>";
if(array_key_exists($parent,$subids))
{
$sublist=$this->print_list($subids[$parent],$subids,$name,$indent+1);
$list.=$sublist;
}
}
}
//$list.= "</tr>\n";
return $list;
}
/**
* print_option用于生成选择列表
*
*$parents 同上
* $subids 同上
* $name 同上
* $indent 用于控制缩进
* print_option($subid[0],$subid,$name);
*/
function print_option($parents,$subids,$name,$indent=0){
foreach($parents as $parent ){
$content.= "<option value='$parent'>".str_repeat(' ',$indent).$name[$parent]."</option>\n";
if(key_exists($parent,$subids)){
$subcontent=$this->print_option($subids[$parent],$subids,$name,$indent+1);
$content.=$subcontent;
}
}
return $content;
}
/**
* getsubid用于得到一个父id下的所有id,主要是用于删除
* $parentid=$_GET['parentid']
* $a=getsubid($parentid,$subid);
*/
function getsubid($parentid,$subids){
$list.=$parentid;
if(array_key_exists($parentid,$subids)){
foreach ($subids[$parentid] as $parent) {
$listsub=", ".$this->getsubid($parent,$subids);
$list.=$listsub;
}
}
return $list;
}
/**
* listurl用于生成导航条
* $sql="select * from new order by name";
* mysql_query('set names gbk');
* $result = mysql_query($sql);
* while($row = mysql_fetch_object($result)){
* $parents[$row->id] = $row->parentid;
* $name[$row->id] = $row->name;}
* $id=$_GET['id'];
* $listurl=listurl($id,$parents,$name);
*/
function listurl($id,$parent,$name){
$tmp="<a href='find.php?parentid=$id'>$name[$id]</>";
while($parent[$id]!=0){
$id=$parent[$id];
$tmp="<a href='find.php?parentid=$id'>$name[$id]</a>"."→".$tmp;
}
return $tmp;
}
}
?>

