Home > php教程 > php手册 > php建立菜单

php建立菜单

WBOY
Release: 2016-06-13 10:23:20
Original
927 people have browsed it

对于使用过C/S的人来说,通过菜单选择功能是最基本的操作,在php中,也很容易实现菜单的功能,方法如下:
menu.php:

//
// 作者: christine
// email: greenchn@163.net
//
class menu {
var $name;
var $items;
var $open;
var $closed;
var $indent;

function menu($name,$open = (-),$closed = (+),$indent = )
{
$this->items = array();
$this->name = $name;
$this->open = $open;
$this->closed = $closed;
$this->indent = $indent;
}

function add($name, $href="" , $target = "")
{
$n = count($this->items);

if (is_object($name))
{
$this->items[$n] = $name;
}
else
{
$this->items[$n][name] = $name;
$this->items[$n][href] = $href;
$this->items[$n][target] = $target;
}
}

function show($nest = 0)
{
$urlname = strtr($this->name, , _);
$indent = ;

global $$urlname;
global $PHP_SELF;


global $QUERY_STRING;

if ($nest)
{
$indent = str_repeat($this->indent, $nest);
}

if (isset($urlname))
{
printf(%s%s
,
$indent . $this->open,
$PHP_SELF,
ereg_replace("{$urlname}=&",, $QUERY_STRING),
$this->name);

echo "n";

while (list(,$item) = each($this->items))
{
if (is_object($item))
{
$item->show($nest + 1);
}
else
{
printf(%s%s
,
$indent . $this->indent,
$item[href],
(!empty($item[target]) ? target=".$item[target].":),$item[name]);
echo "n";
}
}
}
else
{
printf(%s%s
,
$indent . $this->closed,
$PHP_SELF,
$urlname, $QUERY_STRING,
$this->name);
echo "n";
}
}
}
?>



menu2.php:
include(menu.php);
$submenu = new menu(Sub Menu);
$submenu->add(Sub Item 1, vote.php3, _new);
$submenu->add(Sub Item 2, vote.php3);
$main = new menu(Main);
$main->add(Main Item 1, vote.php3?);
$main->add(Main Item 2, vote.php3);
$main->add($submenu);
$main->add(Main Item 3, vote.php3);
$second = new menu(Secondary Menu);
$second->add(Secondary Item 1, vote.php3);
$second->add(Secondary Item 2, vote.php3);
$main->show();
//$second->show();
?>

执行menu2.php就可看到菜单效果。
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template