ホームページ >php教程 >php手册 >xzn_html_tree(1.0) 折りたたみ可能なアウトライン

xzn_html_tree(1.0) 折りたたみ可能なアウトライン

WBOY
WBOYオリジナル
2016-06-21 09:11:571109ブラウズ

/**折りたたみアウトライン
* クラス名 Tree
* 保存場所 xzn/html/tree.php
*/

/**ノードクラス
* 関連するパラメータをツリーに保存するために使用されます
*
* @param $id ノード番号
* @param $text ノードタイトル
* @param $value ノードパラメータ、通常は URL
* @param $image ノード画像
*/
class TreeNode {
var $id;
var $text;
var $value;
var $image;
function TreeNode( $id,$text,$value,$image) {
$this->id = $id;
$this->text = $text;
$this->value = $value;
$this- >image = $image;
}
}

/**Treeクラス
* 折りたたみアウトラインの保存と出力に使用します
* 折りたたみアウトラインはFrontPage 2000のJavaScriptスクリプトを使用します
*
* メソッド
* set()
* ノードを設定します。ノード番号は1.2.3.4または1-2です。 -3 -4の形式。
* レベル制限はありません。入力順序に制限はありません。
* @param $id ノード番号
* @param $text ノードタイトル
* @param $value ノードパラメータ、通常は URL
* @param $image ノード画像
*
* display()
* ページへの出力は次のとおりです折りたたまれたアウトライン
*
* 属性
* @public $node 配列、ノードの保存に使用されます
* @public $jspath スクリプトのアウトライン.js の保存場所
*/
クラス ツリー {
var $node;
var $jspath;
function set($id,$text,$value="" ,$image="plus.gif") {
$d = split("[.-]",$id);
$e = "";
for($i=0;$i $e .= "[".$d][$i]."]";
$n = new TreeNode($id,$text,$value,$image);
eval(" $p=&$this->node$e;");
$p[node] = $n;
}
function display() {
echo ''."n";
echo ''."n";
echo ''."n";
echo '

'."n";
ksort($this->node);
reset($this->node);
while(list($key,$value) = each($this->node)) {
$this-> ;next($value,0);
}
echo "
n";
}
function next($node,$level) {
if(! is_array($node))
return;
if(isset($node[node])) {
// echo $level.",".$node[node]->id.",".$node[ノード]->テキスト.",".$node[ノード]->値.",".$node[ノード]->画像."n";
echo ''."n ";
echo '"。 n";
echo '';
if(empty($node[node]->value))
echo $node[node]-> text."n";
else
        echo ''.$node[node]->text."n";
echo '< table border="0" cellpadding="0" cellpacing="0" width="100%">'."n";
}
if(count($node) == 1) {
echo "< /td>nn";
return;
}
ksort($node);
reset($node);
while(list($key,$value) = each($ノード))) {
$this->next($value,$level+1);
}
echo "nn";
}
}
? >



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。