求一个能用的ajax联动菜单代码 本帖最后由 caesahu 于 2010-01-31 21:15:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <? include "inc/connect.php"; ?><? if($_POST['submit']) { $prosql = "insert into pro (smallname,pro_name) values ('" . $_POST['sname'] . "','" . $_POST['name'] . "')"; mysql_query($prosql) or die(); }?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>联动</title></head><body><div id="wrapper"> <form name="bsclass" method="post" action="<? echo $SCRIPT_NAME ?>"> <select name="bname" onChange="redirec(document.bsclass.bname.options.selectedIndex)"> <option selected>选择大类</option><? $sql="select * from bigclass"; $res=mysql_query($sql); while($row=mysql_fetch_array($res)) {?> <option value="<?=$row[0]?>"><?=$row[1]?></option><? } ?> </select><br /> <select name="sname"><option value="选择小类" selected>选择小类</option><script language="javascript">var select1_len = document.bsclass.bname.options.length;var select2 = new Array(select1_len);for (i=0;i < select1_len;i++) { select2[i] = new Array();}<? $sql1="select * from bigclass"; $res1=mysql_query($sql1); $i=1; while($row1=mysql_fetch_array($res1)) { $sql2="select smallname from smallclass where cat_id = $row1[id]"; $res2=mysql_query($sql2);?>select2[<?=$i?>][0] = new Option("选择小类", " ");<? $j=1; while($row2=mysql_fetch_array($res2)) {?>select2[<?=$i?>][<?=$j?>] = new Option("<?=$row2[0]?>","<?=$row2[0]?>"); <? $j++; } $i++; }?>function redirec(x) { document.bsclass.sname.length=1; var temp = document.bsclass.sname; for (i=0;i < select2[x].length;i++) { temp.options[i]=new Option(select2[x][i].text,select2[x][i].value); } if(select2[x].length==0)temp.options[0]=new Option("",""); temp.options[0].selected=true;}</script> </select><br /> <input type="text" name="name" /><br /> <input type="submit" name="submit" value="submit" /><br /> </form></div></body></html><!--bsclass为表单名bname为第一个下拉框名sname为第二个下拉框名bigclass为大类表名bigname为大类表中分类名smallclass为小类表名smallname为小类表中分类名cat_id为小类与大类联接字段pro表中以smallname与小类相同而进行联接表结构bigclassidbignamesmallclassidcat_id(与bigclass的id一样就行了)smallnameproidsmallname(与smallclass的smallname一样)pro_name…………-->我想这应该够简单了吧可以自行对它进行简化 我的博客里有,不过是用的XML 长文章分页效率问题 准备学习PHP,哪位高手给我点意见 放一个我正在用的html编辑器(PHP上传图片和其他文件) 新配的环境,连接数据库出现错误,希望能等到大家的提示! 页面刷新问题 session_save_path问题,求助! 怎样才能使网页刷新时,不使“submit”按钮提交动作??? 我的一个数据库查询语句,请朋友们看看是不是有错。 php里,如何让编辑器里引用的代码原样输出 想要实现手机动态注册和发送动态码的登录功能,仿美团的.. 如何在Smarty中输出 {$变量} 请问如何在html中通过链接调用php文件??
<?
if($_POST['submit']) {
$prosql = "insert into pro (smallname,pro_name) values ('" . $_POST['sname'] . "','" . $_POST['name'] . "')";
mysql_query($prosql) or die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>联动</title>
</head>
<body>
<div id="wrapper">
<form name="bsclass" method="post" action="<? echo $SCRIPT_NAME ?>">
<select name="bname" onChange="redirec(document.bsclass.bname.options.selectedIndex)">
<option selected>选择大类</option>
<?
$sql="select * from bigclass";
$res=mysql_query($sql);
while($row=mysql_fetch_array($res)) {
?>
<option value="<?=$row[0]?>"><?=$row[1]?></option>
<? } ?>
</select><br />
<select name="sname"><option value="选择小类" selected>选择小类</option><script language="javascript">var select1_len = document.bsclass.bname.options.length;
var select2 = new Array(select1_len);for (i=0;i < select1_len;i++) {
select2[i] = new Array();
}
<?
$sql1="select * from bigclass";
$res1=mysql_query($sql1);
$i=1;
while($row1=mysql_fetch_array($res1)) {
$sql2="select smallname from smallclass where cat_id = $row1[id]";
$res2=mysql_query($sql2);
?>
select2[<?=$i?>][0] = new Option("选择小类", " ");
<?
$j=1;
while($row2=mysql_fetch_array($res2)) {
?>
select2[<?=$i?>][<?=$j?>] = new Option("<?=$row2[0]?>","<?=$row2[0]?>");
<?
$j++;
}
$i++;
}
?>
function redirec(x) {
document.bsclass.sname.length=1;
var temp = document.bsclass.sname;
for (i=0;i < select2[x].length;i++) {
temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
}
if(select2[x].length==0)temp.options[0]=new Option("","");
temp.options[0].selected=true;
}
</script>
</select><br />
<input type="text" name="name" /><br />
<input type="submit" name="submit" value="submit" /><br />
</form>
</div>
</body>
</html>
<!--
bsclass为表单名
bname为第一个下拉框名
sname为第二个下拉框名
bigclass为大类表名
bigname为大类表中分类名
smallclass为小类表名
smallname为小类表中分类名
cat_id为小类与大类联接字段
pro表中以smallname与小类相同而进行联接表结构
bigclass
id
bignamesmallclass
id
cat_id(与bigclass的id一样就行了)
smallnamepro
id
smallname(与smallclass的smallname一样)
pro_name
……
……
-->我想这应该够简单了吧
可以自行对它进行简化