⑴ php+mysql怎么实现无限级别分类,数据库怎么设计一条SQL语句读出数据然后生成数组
CREATE TABLE IF NOT EXISTS `sq_cat_id_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fid` int(11) NOT NULL,
`cat_name` varchar(128) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
INSERT INTO `sq_cat_id_name` (`id`, `fid`, `cat_name`) VALUES
(1, 0, '私有'),
(2, 0, 'no2'),
(3, 1, 'sdf'),
(4, 1, '美媚'),
(5, 1, '好吧'),
(7, 1, '美女'),
(8, 1, '帅哥'),
(9, 2, '笑笑'),
(10, 2, '美女拉拉'),
(11, 2, '好好'),
(12, 2, '小小'),
(13, 5, '好呀'),
(14, 5, '媚美'),
(15, 5, '好S呀'),
(16, 5, '妖美'),
(17, 1, '好呀'),
(18, 12, '好吧'),
(19, 13, '是呀'),
(20, 12, 'okokok'),
(21, 13, '是虹蜡虹'),
(22, 2, '就是这样子'),
(23, 2, '是的吗');
<?php
$link = mysql_connect( '127.0.0.1', 'root', '123456' ) or die( mysql_error() );
mysql_select_db( 'qqsq' );
mysql_set_charset( 'utf8' );
$sql = "SELECT * FROM sq_cat_id_name";
$result = mysql_query( $sql );
$ss = array();
while( $row = mysql_fetch_assoc( $result ) )
{
$ss[$row['fid']][$row['id']] = $row['cat_name'];
}
unset( $row );
mysql_close( $link );
var_mp( $ss );
echo '-------------------------------------------' . "\n";
function for_category( $ss = array(), $a2 )
{
echo "<ul>";
foreach ( $ss as $k => $v )
{
if ( isset( $a2[$k] ) && is_array( $a2[$k] ) )
{ echo "<li>$k $v";
for_category( $a2[$k], $a2 );
echo "</li>";
}
else{
echo "<li>$k $v</li>";
}
}
echo "</ul>";
}
for_category( $ss[0], $ss );
如用疑问请联系php.xlxz.org
⑵ PHP开发学起来简单吗学成需要多长时间
个人觉得并不难,因为之前用asp,也看过php的语法结构,转学php的时候并没有觉得有太困难,只是第一次接触的一个垃圾 php框架把我折磨的够呛,最要命 的是两个小孩子还给所有代码进行了zend加密,我在后期维护的时候很头大,不知道在哪里改,只能挨个文件查,可是文件又全加了密,还要一个一个文件解密。
以我个人的经历来说,通过阅读w3school上面的教程,就能够掌握PHP基础知识,然后实践操作一下,写点简单的代码,基本上也就OK了。
最麻烦的我觉得还是配置运行环境,总是搞不懂各种版本,后来索性用了一个web套件,里面集成了apache/mysql/php等,用着方便,不过个人用过一段时间Nginx版本的,流量多的时候会出问题,后来还是用了iis,自己下载了一个php包进行配置。
⑶ 几十万条数据用PHP递归能实现无限级分类吗
可以做树状结构,先查询第一层,然后当展开第二层
的时候,用ajax去查询下一层的信息,如果感觉慢的
话可以给表做索引,也可以做分表处理,几十万不是
太大的数据
⑷ 求无限分类的数据库表结构
无限类别、无限级别的数据库分类结构,以下三个字段即可:
class_id int PKEY,
upclass int,
classname char(10)
其它产品表中,使用外键class_id关联本表的class_id作为类别。
⑸ PHP是什么 PHP开发可以做什么
PHP是一种简单易学的计算机语言,跨平台性,可以在WINDOWS和UNIX上运行,由于大量的内置函数,可以非常简单的语句实现网络数据采集、大量数据加工、开发网站等功能。
⑹ 什么是 无限极分类(PHP。数据库)
那是一种关联关系....sql 里可以叫"自连接" 假设:表 Category 有以下字段: Id(PK),Cate_Name(varchar),Cate_Parent_Id(int) 数据: Id(编号ID) Cate_Name(类别名称) Cate_Parent_Id(父级Id) 1 BaseCategory 0 2 News 1 3 Article 1 4 Story 3 说明: Id 为 1 的基类别(没有父级类别) News,Article 为 基类别下的子分类 Story 为 Article 下的子分类 层次关系: 0 - 2 - 3 - 4 这样就可以简单实现无限分类的数据库的设计了 使用: 给出Id 获取到它的父类别和所有子类别 Function getParentCategory($Id){ $sql = "select * from Category where Id = (select Cate_Parent_Id from Category where Id = $Id)"; $rs = mysql_query($sql,$conn); ...... //省事期间,给出伪代码吧 if(记录不存在 或者 $Id = 1){ return false; //无父级或不存在 }else{ return 查询出的父级数据数组; } } Function getChildCategory($PId){ $sql = "select * from Category where Cate_Parent_Id = $PId"; 存在则返回数据数组 否则返回false } 上面只是简单说明下大致思路.. php,J2ee的我没手写过,都是通过支持ORM的MVC框架去配置出来的. asp的倒是写过,需要的话,可以发你 只要逻辑关系整清楚了,就不难了...至于页面展示,可以用JS或者AJAX
⑺ vb如何编写treeview无限级数据库
TreeView1.Nodes.Clear
SS="Select*from表orderby层数"
SetRst=Cn.Execute(SS)'查询数据库
IfNotRst.EOFThen
Do
TreeView1.Nodes.Add,,rst!节点,rst!节点
TreeView1.Nodes.Add,rst!父节点,rst!节点,rst!节点
Rst.MoveNext
LoopUntilRst.EOF
EndIf
⑻ 想做一个无限级的treeview如何设计数据库
这个简单啊,只要在你原来的表里加个父级编号就可以了: 分类编号 父类编号 分类名称 001 体育用品002 摄影器材003 001 运动服004 003 李宁牌005 003 耐克牌006 004 网球衫 你每次加入一个分类的时候,肯定知道它的父类是谁,如果是根类,父类为空就行了。这样你就可以子子孙孙,无穷尽也,这不就是无限级分类么。
⑼ php如何查找会员无限分类的所有上级和所有下级
这个就要看你的数据库是怎么实现的。
我之前给一个人做个一个类似的会员推广提成的模块,就a推广出的a-1,a-2继续推广,得到a-1-1,a-1-2等等。
我的数据库设计思路如下:
用户表中有一个son这么一个字段,这个字段中存放名下所有会员的id,用分号隔开。
这个字段的维护:
比如a-1-1推广出了一个a-1-1-1,此新用户的id是12345,那么给a-1-1 a-1 a这个三个用户son字段内均添加12345这个id,删除一个用户做法一样。
有了这张表就能实现你要的效果。
查一个会员名下所有的会员,只需要读取该会员的son字段即可
查一个会员的上级 怎在数据库中所搜son字段,含有此会员id的都是他的上级会员。
当然,还有一个字段是标记此会员的直接上级会员,这样 一张表就能从任意会员得到整个会员推广树。
希望这个思路能帮到你。
⑽ php无限分类 数据库查询 怎么找到符合条件的推荐人,程序怎么写求帮忙
functionselectReferee($rid){
//查询该推荐人是否满3个人
$sql="SELECT*FROMtalbe_nameWHERE`id`=".$rid;
$res=array();//$res为查询结果
if(count($res)>=3){
foreach($resas$k=>$v){
selectReferee($v['id']);//如果该推荐人满了3个人,则递归查询下面的所有人
}
}else{
return$rid;//返回推荐人id
}
}
大概的思路就是这样,主要是一个递归,你自己完善,测试一下