百万数据无限分类PHP 百万数据处理

几十万条数据用PHP递归能实现无限级分类吗可以做树状结构,先查询第一层,然后当展开第二层
的时候,用ajax去查询下一层的信息,如果感觉慢的
话可以给表做索引,也可以做分表处理,几十万不是
太大的数据
如何使用PHP实现无限级分类你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了 。
这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了 。
复制代码代码如下:
function generateTree($items){
$tree = array();
foreach($items as $item){
if(isset($items[$item['pid']])){
$items[$item['pid']]['son'][] = $items[$item['id']];
}else{
$tree[] = $items[$item['id']];
}
}
return $tree;
}
$items = array(
1 = array('id' = 1, 'pid' = 0, 'name' = '安徽省'),
2 = array('id' = 2, 'pid' = 0, 'name' = '浙江省'),
3 = array('id' = 3, 'pid' = 1, 'name' = '合肥市'),
4 = array('id' = 4, 'pid' = 3, 'name' = '长丰县'),
5 = array('id' = 5, 'pid' = 1, 'name' = '安庆市'),
);
print_r(generateTree($items));
可以看到下面打印的结果:
复制代码代码如下:
Array
(
[0] = Array
(
[id] = 1
[pid] = 0
[name] = 安徽省
[son] = Array
(
[0] = Array
(
[id] = 3
[pid] = 1
[name] = 合肥市
[son] = Array
(
[0] = Array
(
[id] = 4
[pid] = 3
[name] = 长丰县
)
)
)
[1] = Array
(
[id] = 5
[pid] = 1
[name] = 安庆市
)
)
)
[1] = Array
(
[id] = 2
[pid] = 0
[name] = 浙江省
)
)
上面生成树方法还可以精简到5行:
复制代码代码如下:
function generateTree($items){
foreach($items as $item)
$items[$item['pid']]['son'][$item['id']] = $items[$item['id']];
return isset($items[0]['son']) ? $items[0]['son'] : array();
}
上面这种无限极分类数据树形结构化的方法值得借鉴 。但是我觉得这段代码实际用途并不明显啊,你想取出格式化的树形数据还是要递归?。?
复制代码代码如下:
/**
* 如何取数据格式化的树形数据
*/
$tree = generateTree($items);
function getTreeData($tree){
foreach($tree as $t){
echo $t['name'].'br';
if(isset($t['son'])){
getTreeData($t['son']);
}
}
}
getTreeData($tree);
php无限分类怎么弄无限分类?是指自己可以随意添加分类,然后全部显示出来?
加个条件循环就可以了!
$type=mysql_query("select * from type order by id desc"); //查询表type,也就是分类的表
?php do { ?
需要输出的内容如:?php echo $row['type']; ?
?php } while ($row= mysql_fetch_assoc($type)); //在数据库中取值?
如何用php实现添加无限分类?类似织梦后台那种可以无限添加分类数据库设置3个字段idnamefidfid就是顶级id的意思
idnamefid
1分类10
2分类20
3分类1-11
4分类1-21
【百万数据无限分类PHP 百万数据处理】5分类2-12
6分类2-22
数据库就是这种模式,fid为0的是最大分类 。id为3和 4的分类是id 为 1 分类的子分类,所以fid都为1。5和6是id为2的子分类 。
你查找数据库的时候查找fid=0的数据,找出顶级分类1 和 2 ,再查找fid分别为1 和2的分类,就是对应的子类,你用foreach遍历出来就是了,
关于百万数据无限分类PHP和百万数据处理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读