|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。 3.法式掌握
------------------------------------------------------------
完成无穷分类这个功效中就属这一步最为庞杂辛劳,起首看看法式需求完成的步调:
1)创立分类上传;
2)创立信息上传;
3)明白显示各分类及其之间的关系;
4)处置查询功效;
5)若何处置编纂和删除的功效;
而这五步中最为坚苦的就是第五个步调,由于对分类的编纂和删除触及到一至性的成绩.
上面我就一一描写 php 的法式掌握:
1)创立分类上传
在引见这个功效前,先引见一下 explode( ) 这个函数,这是个字串处置函数,用来分化字串的,详细的用法,例:
分化"0:1:2:3:4"里的数字
$val='0:1:2:3:4';
$rid=explode(":",$val);
经由 explode( ) 函数处置,$val 内的一切数字都分化到 $rid 数组中了,要援用时只需打印:echo '$rid[0],$rid[1],$rid[2]..."; 就好了.explode( ) 函数在全部分类处置中起着十分主要的感化,好如今入手下手引见无现分类的法式掌握.
可以假定个总分类 0 ,一切的分类都是它的子孙分类,如今来创立第一个分类'体系',来看看它在数据库的存储模式:
id | uid | type | rout_id | rout_char
1 | 0 | 体系 | 0:1 | 体系
接着又鄙人面分'Linux':
id | uid | type | rout_id | rout_char
2 | 1 | Linux| 0:1:2 | 体系:Linux
以上就是数据库存储的模式,如今就来完成 php 的代码,这与服装论坛的代码很类似,咱们所要做的就是将分类的 id 放入 uid,而父分类的 uid 就放 0,上面来看看代码:
<?
.....
.....
//设置默许页
if (empty($func)) $func=='showtype';
//设置父分类的 uid
if (empty($uid)) $uid=0;
//数据库存储************************************************
if ($func=='save'):
$fields = "";
$values = "";
if ($id!="") {
$fields .= ",id";
$values.=",$id";
}
if ($uid!="") {
$fields .= ",uid";
$values.=",$uid";
}
if ($type!="") {
$fields .= ",type";
$values.=",'$type'";
}
if ($route_id=="") {
//获得父分类的 route_id
if ($uid!=0) {
$result = mysqlquery("select * from type where id=$uid");
$route_id=mysql_result($result,0,"route_id");
} else {
$routr_id='0';
}
$fields .= ",route_id";
//构成本人的 route_id
$route_id="$route_id:$id";
$values.=",'$route_id'";
}
//构成本人的 route_char
if ($route_char!="") {
$fields .= ",route_char";
$route_char="$route_char:$type";
$values.=",'$route_char'";
} else {
$fields .= ",route_char";
$route_char=$type;
$values.=",'$route_char'";
}
$fields = substr($fields,1,strlen($fields)-1);
$values = substr($values,1,strlen($values)-1);
$result = mysqlquery("insert into type ($fields) values ($values)");
...
endif; /* end save */
//分类上传************************************************
if ($func=='createtype'):
//获得本人的 id
$result = mysqlquery("select * from type order by
id desc");
$num=mysql_numrows($result);
if (!empty($num)) {
$cat = mysql_result($result,0,"id");
} else {
$cat=0;
}
//判别分类的形态
if ($uid != 0) {
$result=mysql_query("select * from type where id=$uid");
$type=mysql_result($result,0,"type");
$route_char=mysql_result($result,0,"route_char");
} else {
$type='父分类';
}
echo "<FORM ACTION="$PHP_SELF?func=save" METHOD=POST>";
echo "<table>";
echo "<tr><td>所属种别:$type</td></tr>";
echo "<tr><td>创立分类:<input type=text name='type' SIZE=10 MAXLENGTH=100></td></tr>";
echo "<tr><td>";
$cat=$cat+1;
echo "<input type=hidden name=id value='$cat'>";
echo "<input type=hidden name=uid value='$uid'>";
echo "<input type=hidden name=route_char value='$route_char'>";
echo "<INPUT TYPE=submit NAME='Save' VALUE='保留'></td></tr>";
echo "</table>";
echo "</form>";
endif; /* end createtype */
//显示分类************************************************
if ($func=='showtype'):
echo "<table>";
//判别分类的形态
if ($uid!=0) {
$result=mysql_query("select * from type where id=$uid");
$type=mysql_result($result,0,"type");
} else {
$type='父分类';
}
echo "<tr><td><a href='$php_self?func=createtype&uid=$uid'>创立分类</a></td></tr>";
echo "<tr><td>$type</td></tr>";
$result=mysql_query("select * from type where uid=$uid");
$num=mysql_numrows($result);
if (!empty($num)) {
for ($i=0;$i<$num;$i++) {
$id=mysql_result($result,$i,"id");
$type=mysql_result($result,$i,"type");
echo "<tr><td>";
echo "<a href='$php_self?func=showtype&uid=$id'>$type</a>";
echo "</td></tr>";
}
}
echo "</table>";
endif; /* end showtype */
.....
.....
?>
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话: |
|