php如何将结果输出到文件,如何将tree结果输出到文件

菜鸟求助,想实现两项功能,1、将数据库中主要字段spliter_name,up_spliter两项树形结构输出到IE,在此编写了树形输出代码,请给与指教看是否符合要求,2.将数据库中这两项输出到a.txt,结果如a.txt中所示,绞尽脑汁实在力不从心,请各位大神给与指教。以下为数据库、树形输出、欲实现效果等文件,谢谢!

************************** tb_spliter.sql **********************

-- phpMyAdmin SQL Dump

-- version 3.5.4

-- http://www.phpmyadmin.net

--

-- 主机: localhost

-- 生成日期: 2013 年 05 月 01 日 11:02

-- 服务器版本: 5.5.18

-- PHP 版本: 5.4.0RC4

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

--

-- 数据库: `oa`

--

-- --------------------------------------------------------

--

-- 表的结构 `tb_spliter`

--

CREATE TABLE IF NOT EXISTS `tb_spliter` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`spliter_name` varchar(50) NOT NULL,

`spliter_cap` int(4) NOT NULL,

`spliter_city` varchar(50) NOT NULL,

`spliter_top_device` varchar(50) NOT NULL,

`spliter_top_cable` varchar(50) NOT NULL,

`up_spliter` int(11) NOT NULL,

`p_id` int(6) NOT NULL,

`p_name` varchar(50) NOT NULL,

`i_state` int(1) NOT NULL,

`complet_date` datetime NOT NULL,

`project_name` varchar(50) NOT NULL,

`project_content` text,

`table_type` int(1) NOT NULL,

`relate_depart` varchar(100) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=gb2312 COMMENT='分光器表' AUTO_INCREMENT=91 ;

--

-- 转存表中的数据 `tb_spliter`

--

INSERT INTO `tb_spliter` (`id`, `spliter_name`, `spliter_cap`, `spliter_city`, `spliter_top_device`, `spliter_top_cable`, `up_spliter`, `p_id`, `p_name`, `i_state`, `complet_date`, `project_name`, `project_content`, `table_type`, `relate_depart`) VALUES

(81, 'a1', 1, 'xt', 'a', '无', 69, 217, 'hhh', 0, '2013-04-28 00:24:52', '0', '0', 1, 'qd'),

(80, 'a2', 1, 'xt', 'a', '无', 69, 217, 'hhh', 0, '2013-04-28 00:24:52', '0', '0', 1, 'qd'),

(79, 'a3', 1, 'xt', 'a', '无', 69, 217, 'hhh', 0, '2013-04-28 00:24:52', '0', '0', 1, 'qd'),

(78, 'a4', 1, 'xt', 'a', '无', 69, 217, 'hhh', 0, '2013-04-28 00:24:52', '0', '0', 1, 'qd'),

(69, 'a', 1, 'xt', '无', '无', 0, 217, 'hhh', 0, '2013-04-28 00:15:20', '0', '1', 1, 'qh'),

(82, 'b', 1, 'xt', '无', '无', 0, 217, 'hhh', 0, '2013-05-01 10:22:51', '0', '1', 3, 'qh'),

(83, 'b1', 1, 'xt', 'b', '无', 82, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(84, 'b2', 1, 'xt', 'b', '无', 82, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(85, 'b3', 1, 'xt', 'b', '无', 82, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(86, 'b4', 1, 'xt', 'b', '无', 82, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(87, 'b5', 1, 'xt', 'b', '无', 82, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(88, 'b6', 1, 'xt', 'b', '无', 82, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(89, 'b61', 1, 'xt', 'b', '无', 88, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh'),

(90, 'b62', 1, 'xt', 'b', '无', 88, 217, 'hhh', 0, '2013-05-01 10:23:53', '0', '0', 3, 'qh');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

********************** tree.php **********************

回复讨论(解决方案)

基本算法$sql = "select id, up_spliter, spliter_name from tb_spliter order by 2, 1";$rs = mysql_query($sql); $res = array(); //结果数组$ind = array(); //索引数组while($row = mysql_fetch_assoc($rs)) { list($id, $pid) = array_values($row); $ind[$id] = $row; if(isset($ind[$pid])) $ind[$pid]['child'][$id] =& $ind[$id]; //构造索引 if($pid == 0) $res[$id] =& $ind[$id]; //转存根节点组}print_r($res);Array

(

[69] => Array

(

[id] => 69

[up_spliter] => 0

[spliter_name] => a

[child] => Array

(

[78] => Array

(

[id] => 78

[up_spliter] => 69

[spliter_name] => a4

)

[79] => Array

(

[id] => 79

[up_spliter] => 69

[spliter_name] => a3

)

[80] => Array

(

[id] => 80

[up_spliter] => 69

[spliter_name] => a2

)

[81] => Array

(

[id] => 81

[up_spliter] => 69

[spliter_name] => a1

)

)

)

[82] => Array

(

[id] => 82

[up_spliter] => 0

[spliter_name] => b

[child] => Array

(

[83] => Array

(

[id] => 83

[up_spliter] => 82

[spliter_name] => b1

)

[84] => Array

(

[id] => 84

[up_spliter] => 82

[spliter_name] => b2

)

[85] => Array

(

[id] => 85

[up_spliter] => 82

[spliter_name] => b3

)

[86] => Array

(

[id] => 86

[up_spliter] => 82

[spliter_name] => b4

)

[87] => Array

(

[id] => 87

[up_spliter] => 82

[spliter_name] => b5

)

[88] => Array

(

[id] => 88

[up_spliter] => 82

[spliter_name] => b6

[child] => Array

(

[89] => Array

(

[id] => 89

[up_spliter] => 88

[spliter_name] => b61

)

[90] => Array

(

[id] => 90

[up_spliter] => 88

[spliter_name] => b62

)

)

)

)

)

)

是多维数组

目的在于展现层次

老大,试了老半天,遍历数组想生成 a-a1;a-a2;....如a.txt那样的结果,可还是不行,望再帮忙指点下。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

相关文章

相关视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值