ホームページ >バックエンド開発 >PHPチュートリアル >PHP 無限分類テーブルを div に変換

PHP 無限分類テーブルを div に変換

WBOY
WBOYオリジナル
2016-06-23 14:03:251028ブラウズ


参考URL
http://www.qunfei.com/htmls/webdevelop/php/2012/0116/819.html


function dafenglei_arr($m,$id){	global $class_arr;	global $ppid;	if($id=="") $id=0;	$n = str_pad('',$m,'-',STR_PAD_RIGHT);	$n = str_replace("-","  ",$n);	for($i=0;$i<count($class_arr);$i++){             		if($class_arr[$i]['classFID']==$id){		echo "<tr>\n";		echo "<td height=\"28\" class=\"font\">".$n."|--<a href=\"?action=edit&amp;id=".$class_arr[$i]['classid']."\">".$class_arr[$i]['className'].$m."</a></td>\n";		echo "</tr>\n";					dafenglei_arr($m+1,$class_arr[$i]['classid']);		}			}	}



出力形式は
a34de1251f0d9fe1e645927f19a896e8
3343d0e7a105fee61feee494f122b1b8
b6c5a531a458a2e790c1fd6421739d1c    列 1-1b90dd5946f0946207856a8a37f441edf
b6c5a531a458a2e790c1fd6421739d1c   列 1~2b90dd5946f0946207856a8a37f441edf ;
    列 1-3b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c     列 1-3-1b90dd5946f0946207856a8a37f441edf ;/tr>



次に、

dc5725eca1480ddfc5bfa19f8233ca40
bc4efc6a160fae226e28e3d7a5783865d27c565b07ca54c5bb93d00160209edaコラム 15db79b134e9f6b82c0b36e0489ee08ed
ff6d136ddc5fdfeffaf53ff6ee95f185
25edfb22a4f469ecb59f1190150159c61ed536a7057a983ba7dff7cabdeb91b27d6be756a4f7ccef8dff9bc97d439609コラム 1-1494c0df226525cc046cf4930a65bbd6f5db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
25edfb22a4f469ecb59f1190150159c6f20a85e8b721cb35abbb9d6d95992bfd7d6be756a4f7ccef8dff9bc97d439609列 1-2e7685952bca8a557bf10ed4b0897736b5db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
25edfb22a4f469ecb59f1190150159c6
7a7a80bdb53f85ac1ab3f5648df772b5

; 929d1f5ca49e04fdcb27f9465b944689





ディスカッション (解決策) に返信

テスト データを提供してください

http://bbs.csdn.net/topics/390398703 この投稿を...

と組み合わせますこの無限分類はテーブルに従って表示されます。

配列

を実現するために td の前にスペースを追加します。 ] => 配列

(

[クラス ID] => 6

[クラス ID] => 0
[クラス名] => 列 1

)


[1] => 配列
] => 6
[クラス名] => 列 1-1

)

[0] =>配列
( [クラスID] => 10
=> 列1-1-1

)

)


ほぼこれがデータです

function add_($num){
$str='';
for($i=1;$i2ae0462f94790f176fb411ae592d7d4a $_value){
if( is_array($_value)){
$_tree.=add_($i).$_key.'ebe8348d6ffef29268bf49dc47e675b0'.$_value.'df250b2156c434f3390392d09b1c9563'
}
}
return $_tree
}
これらの 2 つの関数を試して、HTML を追加してくださいタグ。

$ar = array (  2 =>   array (    'classid' => '6',    'classfid' => '0',    'classname' => '栏目一',  ),  1 =>   array (    'id' => '7',    'classfid' => '6',    'classname' => '栏目1-1',  ),  0 =>   array (    'classid' => '10',    'classfid' => '7',    'classname' => '栏目1-1-1',  ),);echo '<ul>';foreach($ar as $item) {  if($item['classfid'] == 0) $deep = 0;  $t = substr_count($item['classname'], '-');  if($t < $deep) echo '</li></ul>';  if($t > $deep) echo '<ul>';  echo '<li>'.$item['classname'];  $deep = $t;}while($deep--)  echo '</li></ul>';
ff6d136ddc5fdfeffaf53ff6ee95f18525edfb22a4f469ecb59f1190150159c6栏目一ff6d136ddc5fdfeffaf53ff6ee95f18525edfb22a4f469ecb59f1190150159c6栏目1-1ff6d136ddc5fdfeffaf53ff6ee95f18525edfb22a4f469ecb59f1190150159c6栏目1-1-1bed06894275b65c1ab86501b08a632eb929d1f5ca49e04fdcb27f9465b944689bed06894275b65c1ab86501b08a632eb929d1f5ca49e04fdcb27f9465b944689

可能提供的数据不全  不是按照“-”号区分的

Array(    [0] => Array        (            [id] => 10            [pid] => 0            [ppid] => 7            [m_title] => 系统分类            [m_flag] => 1            [m_type] => 0            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 0            [m_time] => 0000-00-00 00:00:00        )    [1] => Array        (            [id] => 9            [pid] => 0            [ppid] => 6            [m_title] => 排序管理            [m_flag] => 0            [m_type] => 0            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 0            [m_time] => 0000-00-00 00:00:00        )    [2] => Array        (            [id] => 8            [pid] => 0            [ppid] => 6            [m_title] => 登陆日志            [m_flag] => 0            [m_type] => 0            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 0            [m_time] => 0000-00-00 00:00:00        )    [3] => Array        (            [id] => 7            [pid] => 0            [ppid] => 6            [m_title] => 系统信息            [m_flag] => 0            [m_type] => 0            [m_url] => 11            [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 10            [m_time] => 0000-00-00 00:00:00        )    [4] => Array        (            [id] => 6            [pid] => 0            [ppid] => 0            [m_title] => 网站管理            [m_flag] => 1            [m_type] => 4            [m_url] => 11            [m_lage] => 1            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 10            [m_time] => 0000-00-00 00:00:00        )    [5] => Array        (            [id] => 5            [pid] => 0            [ppid] => 2            [m_title] => 文字链接            [m_flag] => 0            [m_type] => 22            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 10            [m_time] =>         )    [6] => Array        (            [id] => 4            [pid] => 0            [ppid] => 0            [m_title] => 关于我们            [m_flag] => 0            [m_type] => 0            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 10            [m_time] =>         )    [7] => Array        (            [id] => 1            [pid] => 0            [ppid] => 0            [m_title] => 新闻中心            [m_flag] => 0            [m_type] => 0            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 10            [m_time] =>         )    [8] => Array        (            [id] => 2            [pid] => 0            [ppid] => 0            [m_title] => 友情链接            [m_flag] => 0            [m_type] => 0            [m_url] =>             [m_lage] => 0            [m_seotitle] =>             [m_seokey] =>             [m_seodesc] =>             [m_sort] => 102            [m_time] =>         ))


得到的应该是这种结果


我想把上面的结果转换成


<ul id="files"><li id="m33"><a href="javascript:void(0);" >上级文件</a><ul><li><a href="/news-p11-pp33-ppp140" ><span class="">运检部</span></a></li><li><a href="/news-p11-pp33-ppp141" ><span class="">人劳部</span></a></li><li><a href="/news-p11-pp33-ppp142" ><span class="">财务部</span></a></li><li><a href="/news-p11-pp33-ppp143" ><span class="">安监部</span></a></li><li><a href="/news-p11-pp33-ppp144" ><span class="">后勤部</span></a></li></ul></li><li id="m34"><a href="javascript:void(0);" >各类制度</a><ul><li><a href="/news-p11-pp34-ppp145" ><span class="">检修管理</span></a></li><li><a href="/news-p11-pp34-ppp146" ><span class="">运行管理</span></a></li><li><a href="/news-p11-pp34-ppp147" ><span class="">安全管理</span></a></li><li><a href="/news-p11-pp34-ppp148" ><span class="">综合管理</span></a></li><li><a href="/news-p11-pp34-ppp149" ><span class="">培训管理</span></a></li><li><a href="/news-p11-pp34-ppp150" ><span class="">科技管理</span></a></li></ul></li></ul>


这种div+CSS的 无限分类形式