怎么把PHP无级联动的数据输出到JS无级联动里? 怎么把PHP无级联动的数据输出到JS无级联动里?有没有无级联动的JS呀俺要把PHP的无级联动弄到JS里显示现在PHP的无级联动有了,JS读取PHP的联动怎么实现呀PHP的联动我用的是这个:http://hi.baidu.com/shut/blog/item/22e893ca57369785c817689c.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没人敢回答吗,AJAX的也行。算了你们不说我自己说吧。先用AJAX发送请求。 用PHP页接收,有URL参数的话,就判断是不是终极栏目,是的话就不要再输出<SELECT>标记了,不是的话,再用PHP输出子栏目的分类放到2级<SELECT>里。 如果URL没有参数,直接用PHP输出一级栏目的<SELECT>然后用AJAX得到以上结果这样应该可以吧,有什么要注意的问题呢,流量,数据量大的情况下会不会影响效率呢,用JSON成不? 首先你的 php 部分不支持 ajax 动态加载其次是应现有样式再有数据处理程序即:先要有 html+js 的无级联动, 再根据他的要求编写php程序来产生他需要的数据 你既然用ajax,就应该先把ajax部分先做出来。 好,我想写一个级联联动菜单,数据库 结构是 地区代码和地区名地区代码的规律是第1,2位 代表省 第3,4位 代表市第5,6位 代表县第7,8,9位 代表乡第10,11,12位 代表村现在分5个表,省表,市表,县表,乡表,村表请问用php如何写这个联动菜单 经典的php二级联动菜单<script language = "JavaScript"> var onecount; onecount=0; subcat = new Array(); <? mysql_connect("localhost","root",""); mysql_select_db( "test" ); $sql = "select * from subject"; $result = mysql_query( $sql ); $count = 0; while($res = mysql_fetch_row($result)){ ?> subcat[<?=$count?>] = new Array("<?=$res[0]?>","<?=$res[1]?>","<?=$res[2]?>"); <? $count++; } echo "onecount=$count;"; ?> //联动函数 function changelocation(locationid) { document.myform.ctype.length = 0; var locationid=locationid; var i; for (i=0;i < onecount; i++) { if (subcat[i][2] == locationid) { //var newOption1=new Option(subcat[i][1], subcat[i][0]); //document.all.ctype.add(newOption1); document.myform.ctype.options[document.myform.ctype.length] = new Option(subcat[i][1], subcat[i][0]); } } } </script> <form method="post" name="myform" action="ru_query.php"> <select name="type" onChange="changelocation(document.myform.type.options[document.myform.type.selectedIndex].value)" size="1"> <option selected value="">请指定主分类</option> <? $sql = "select * from depart"; $result = mysql_query( $sql ); while($res = mysql_fetch_row($result)){ ?> <option value="<? echo $res[0]; ?>"><? echo $res[1]; ?></option> <? } ?> </select> <select name="ctype"> <option selected value="">请指定小分类</option> </select> <input type="submit" name="Submit" value="搜索"> </form> 数据库机构如下表depart--------departID departName表subject-------subjectID subjectName departID1.通过精选取得数据库的字段并且存入数组2.定义自定义函数,遍历数组并且使用echo命令把$参数转化成js可以使用的变量3.在js中使用<?自定义函数?>参数进行传递4.通过js的new Option重新组织菜单选项 php二级联动菜单<?php /*****************************************************功能:php二级联动菜单***********************作者:小光***********************************Email:[email protected]************************日期:2007/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=""; } 还是正则函数问题 求一个正则表达式写法 如果判断一张图片是否存在 请问这个表应该怎样设计 php前辈请进来,求个双引号和单引号问题 吐血提问 多有问题提问,急,在线等待 WORD文档上载到服务器上并变成.htm或.php? 怎样在linux使用asp程序?请详细告知! 面试的关于PHP的3个问题 php文件中,使用了js,将js变量赋值给php变量,echo正常,header重定向有问题 php下FCK上传图片
其次是应现有样式再有数据处理程序
即:先要有 html+js 的无级联动, 再根据他的要求编写php程序来产生他需要的数据
第1,2位 代表省
第3,4位 代表市
第5,6位 代表县
第7,8,9位 代表乡
第10,11,12位 代表村
现在分5个表,省表,市表,县表,乡表,村表请问用php如何写这个联动菜单
var onecount;
onecount=0;
subcat = new Array();
<?
mysql_connect("localhost","root","");
mysql_select_db( "test" );
$sql = "select * from subject";
$result = mysql_query( $sql );
$count = 0;
while($res = mysql_fetch_row($result)){
?>
subcat[<?=$count?>] = new Array("<?=$res[0]?>","<?=$res[1]?>","<?=$res[2]?>");
<?
$count++;
}
echo "onecount=$count;";
?>
//联动函数
function changelocation(locationid)
{
document.myform.ctype.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][2] == locationid)
{
//var newOption1=new Option(subcat[i][1], subcat[i][0]);
//document.all.ctype.add(newOption1);
document.myform.ctype.options[document.myform.ctype.length] = new Option(subcat[i][1], subcat[i][0]);
}
}
}
</script>
<form method="post" name="myform" action="ru_query.php">
<select name="type" onChange="changelocation(document.myform.type.options[document.myform.type.selectedIndex].value)" size="1">
<option selected value="">请指定主分类</option>
<?
$sql = "select * from depart";
$result = mysql_query( $sql );
while($res = mysql_fetch_row($result)){
?>
<option value="<? echo $res[0]; ?>"><? echo $res[1]; ?></option>
<? } ?>
</select>
<select name="ctype">
<option selected value="">请指定小分类</option>
</select>
<input type="submit" name="Submit" value="搜索">
</form>
数据库机构如下
表depart--------departID departName
表subject-------subjectID subjectName departID1.通过精选取得数据库的字段并且存入数组
2.定义自定义函数,遍历数组并且使用echo命令把$参数转化成js可以使用的变量
3.在js中使用<?自定义函数?>参数进行传递
4.通过js的new Option重新组织菜单选项
/*******************************************
**********功能:php二级联动菜单*************
**********作者:小光*************************
**********Email:[email protected]**************
**********日期:2007/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="";
}