欢迎光临
我们一直在努力

一个用数据库的php二级联动-PHP教程,PHP函数

建站超值云服务器,限时71元/月

<?php

/*******************************************

**********功能:php二级联动菜单*************

**********作者:冲星*************************

**********email:njj@nuc.edu.cn**************

**********日期:2004/10/02******************

**********请转载时保留版权信息**************

*******************************************/

require_once(db.inc.php);//数据库连接

$db=new hq_online;

$db1=new hq_online;

$db->query("select * from news_bclass order by id desc");

$fmenu="";

$fvalue="";

while($db->next_record()){

$fmenu.="\"".$db->record["bname"]."\",";

$fvalue.="\"".$db->record["id"]."\",";

}

$fmenu=substr($fmenu,0,(strlen($fmenu)-1));

$fmenu="[".$fmenu."]";//*****************************得到var fmenu

$fvalue=substr($fvalue,0,(strlen($fvalue)-1));

$fvalue="[".$fvalue."]";//*****************************得到var fvalue

//得到*****************************var smenu

$db->query("select * from news_bclass order by id desc");

while($db->next_record()){

$parentid=$db->record["id"];

$db1->query("select * from news_sclass where parentid=$parentid order by parentid desc");

while($db1->next_record()){

$num=$db1->num_rows();

$i++;

$smenu.="\"".$db1->record["sname"]."\",";

if($i==$num){

$smenu="[".$smenu."],[";

$i=0;

}

}

}

$smenu.="]";

$smenu=str_replace("\",]","\"]",$smenu);

$smenu=str_replace(",[]","]",$smenu);

if((substr($smenu,0,2))=="[\""){

$smenu="[".$smenu;

}else{

$smenu=preg_replace("/\[{3,}/is","[[\\1",$smenu);//匹配

}

//得到*****************************var svalue

$db->query("select * from news_bclass order by id desc");

while($db->next_record()){

$parentid=$db->record["id"];

$db1->query("select * from news_sclass where parentid=$parentid order by parentid desc");

while($db1->next_record()){

$nums=$db1->num_rows();

$j++;

$svalue.="\"".$db1->record["id"]."\",";

if($j==$nums){

$svalue="[".$svalue."],[";

$j=0;

}

}

}

$svalue.="]";

$svalue=str_replace("\",]","\"]",$svalue);

$svalue=str_replace(",[]","]",$svalue);

if((substr($svalue,0,2))=="[\""){

$svalue="[".$svalue;

}else{

$svalue=preg_replace("/\[{3,}/is","[[\\1",$svalue);//匹配

}

?>

<div id="tar"></div>

<script language="javascript" defer>

var fmenu = <?php echo $fmenu; ?>;

var fvalue = <?php echo $fvalue; ?>;

var smenu = <?php echo $smenu; ?>;

var svalue = <?php echo $svalue; ?>;

var owhere = document.all.tar;

var ofmenu = document.createelement("<select name=bigclass>");

var osmenu = document.createelement("<select name=smallclass>");

with(owhere)appendchild(ofmenu),appendchild(osmenu);

createmainoptions();

createsuboptions(0);

ofmenu.onchange = function() {createsuboptions(this.selectedindex);};

function createmainoptions() {

for(var i=0;i<fmenu.length;i++)ofmenu.options[i] = new option(fmenu[i],fvalue[i]);

}

function createsuboptions(j) {

with(osmenu) {

length=0;

for(var i=0;i<smenu[j].length;i++)osmenu.options[i] = new option(smenu[j][i],svalue[j][i]);

}

}

</script>

<?php

/*

调用方法:

将此代码保存为文件ld2.php

例如要在write.php页面放一个二级联动,则在write.php页面

要放置二级联动的地方加一句require_once("ld2.php");

若write.php要向save.php页面提交数据则在save.php中使用

$bigclass=$_post["bigclass"];//取得大类的id值

$smallclass=$_post["smallclass"];//取得小类的id值

接下来就知道该怎么做了吧……

附表的结构:

 可能有的表的结构和我有些不同,但基本点都一样,修改程序

中对应字段和表名就ok

程序写的有点乱,不过绝对可以放心的使用

欢迎与我交流探讨!

———————————————————

大类的表news_bclass结构

create table news_bclass (

id int(11) not null auto_increment,

bname varchar(10) not null default ,

primary key (id),

unique key id_2 (id),

key id (id)

) type=myisam;

字段说明:bname为大类中文名称

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

小类的表news_sclass结构

create table news_sclass (

id int(11) not null auto_increment,

sname varchar(10) not null default ,

parentid int(10) not null default 0,

bname varchar(10) not null default ,

primary key (id),

unique key id_2 (id),

key id (id)

) type=myisam;

字段说明:sname为小类中文名称

     parendid为大类中的id值

bname为大类中文名称

———————————————————–

*/

?>

db.inc.php文件的内容

<?php

class hq_online extends db_sql{

var $host="localhost";

var $database="hq";

var $user="root";

var $password="";

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一个用数据库的php二级联动-PHP教程,PHP函数
分享到: 更多 (0)

相关推荐

  • 暂无文章