php+mysql实现无限分类
--表的结构`sort`CREATETABLEIFNOTEXISTS`sort`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varch...
-- 表的结构 `sort`
CREATE TABLE IF NOT EXISTS `sort` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
-- 转存表中的数据 `sort`
INSERT INTO `sort` (`id`, `name`, `pid`) VALUES
(1, '分类1', 0),(2, '小分类1', 1),(3, '小小分类1', 2),(4, '小分类2', 1);
实现
分类1
|--小分类1
|----小小分类1
|--小分类2
如何用php实现。请给出php5.2以上版本的php代码。 展开
CREATE TABLE IF NOT EXISTS `sort` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
-- 转存表中的数据 `sort`
INSERT INTO `sort` (`id`, `name`, `pid`) VALUES
(1, '分类1', 0),(2, '小分类1', 1),(3, '小小分类1', 2),(4, '小分类2', 1);
实现
分类1
|--小分类1
|----小小分类1
|--小分类2
如何用php实现。请给出php5.2以上版本的php代码。 展开
5个回答
展开全部
不太清楚你的意思,是用php执行这些sql语句吗? 代码如下:
<?php
define('SQL_SERVER','localhost'); //改成你的服务器地址
define('SQL_USER','root'); //改成你的用户名
define('SQL_PW',''); //改成你的密码
define('SQL_DB','sql_test'); //改成你的数据库名称
$conn=@mysql_connect(SQL_SERVER,SQL_USER,SQL_PW);
if(!$conn){
echo "无法连接此服务器上的数据库";
}else{
echo "连接成功<br>";
mysql_select_db(SQL_DB, $conn);
$sql1="CREATE TABLE IF NOT EXISTS sort (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
pid int(11) NOT NULL,
PRIMARY KEY (`id`))
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;";
$sql2="INSERT INTO sort( name, pid) VALUES
( '分类1', 0),('小分类1', 1),('小小分类1', 2),( '小分类2', 1)";
$res=mysql_query($sql1,$conn);
if($res)
{
echo "table已经创建成功";
}
else{
echo "table已经创建失败";
}
echo "<br>";
$res1=mysql_query($sql2,$conn);
if($res1)
{
echo "数据插入成功";
}
else{
echo "数据插入失败";
}
}
?>
<?php
define('SQL_SERVER','localhost'); //改成你的服务器地址
define('SQL_USER','root'); //改成你的用户名
define('SQL_PW',''); //改成你的密码
define('SQL_DB','sql_test'); //改成你的数据库名称
$conn=@mysql_connect(SQL_SERVER,SQL_USER,SQL_PW);
if(!$conn){
echo "无法连接此服务器上的数据库";
}else{
echo "连接成功<br>";
mysql_select_db(SQL_DB, $conn);
$sql1="CREATE TABLE IF NOT EXISTS sort (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
pid int(11) NOT NULL,
PRIMARY KEY (`id`))
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;";
$sql2="INSERT INTO sort( name, pid) VALUES
( '分类1', 0),('小分类1', 1),('小小分类1', 2),( '小分类2', 1)";
$res=mysql_query($sql1,$conn);
if($res)
{
echo "table已经创建成功";
}
else{
echo "table已经创建失败";
}
echo "<br>";
$res1=mysql_query($sql2,$conn);
if($res1)
{
echo "数据插入成功";
}
else{
echo "数据插入失败";
}
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
..................................
不知道你要的分类是什么分类
是写一个方法实现对数据分类?
while(条件){
分类
}
条件为:如果没有此类
不知道你要的分类是什么分类
是写一个方法实现对数据分类?
while(条件){
分类
}
条件为:如果没有此类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用递归就OK了!!去网上找一下递归 就明白了!! 实在不行 !!! 我在直接给你代码看!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你种思路,直接在 php后台执行mysql语句,用"主外键"联系起来就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-03
展开全部
Q我,递归
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询