PHP+JS+SQLserver2000数据库的二级级联菜单 http://blog.163.com/w_forest/blog/static/324360922007112451911965/,仿照的是这个程序,请大家帮忙看看代码,不知道为什么mysql移植到mssql里面就不能用了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果会用ajax的话,实现起来就比较简单了看你上面的代码,实现方法应该是没问题的。可以慢慢调试下,比如说$row是否有值啊,在ChangeSelect()中多设置几个alert,慢慢就会找出问题了。 <? include("dbconf.inc"); ?> <?php $pro = $_POST['pre']; $cit = $_POST['city']; echo $pro; echo $cit; $str = "select * from country where provs != 0"; $result = mssql_query($str); $rownum = mssql_num_rows($result); $row = mssql_fetch_array($result); ?> <script language="JavaScript"> var _option = new Array(); } <? for($i=0;$i <$rownum;$i++) { echo "_option[".$i."] = new Array('".$row["citis"]."',".$row["id"].",".$row["provs"].")\n"; $row = mssql_fetch_array($result); } ?> 到这一段是有值的,数列是可以取出来的。下面那段====$rs_result = mssql_query("select * from country where provs = 0"); ====这个取出来是空值,因为我没有provs为0的记录,然而我把这个provs改为1(我暂时拿1代替一个省的名字),可以取出来的是这个“1”省里面市的值,看代码原来就是这样设定的。而city这个下拉框则不能对这个省进行级联,现在脑袋死锁中,大家帮忙解一下,感觉这个程序并不是太难就不知道是哪个地方错了。 ChangeSelect里面的调试了吗?到那一步了? ChangeSelect里面的调试了吗?到那一步了? ===有点蒙,这个怎么调。 这是调通的程序,加了个字段sid作为省的标示,country表共有4个字段,id,sid,provs,citis。弄好了,谢谢leec1981 ,这段程序还比较简单。希望对大家有用。^_^<? include("dbconf.inc"); ?> //连接数据库用<?php $pro = $_POST['pre']; $cit = $_POST['city']; echo $pro; echo $cit; $str = "select * from country where sid != 0"; $result = mssql_query($str); $rownum = mssql_num_rows($result); $row = mssql_fetch_array($result); ?> <script language="JavaScript"> var _option = new Array(); //建新的一维数组<? for($i=0;$i <$rownum;$i++) { echo "_option[".$i."] = new Array('".$row["citis"]."',".$row["id"].",".$row["sid"].")\n"; $row = mssql_fetch_array($result); //建包括省id和市id的二维数组} ?> function ChangeSelect(SelfId) //从pre多选框取省id的值{ document.form_category.city.length = 0; document.form_category.city.options[0] = new Option('==请选择市==','0'); for(i=0;i < _option.length;i++) { if(_option[i][2] == SelfId) { document.form_category.city.options[document.form_category.city.length] = new Option(_option[i][0],_option[i][1]); //转化成对应省的市列表 } } } </script> <form name="form_category" id="form_category" method="post" action=""> <select name="pre" id="pre" onChange="ChangeSelect(this.value);"> <option>==请选省/市== </option> <?php $rs_result = mssql_query("select distinct sid,provs from country "); $row_num = mssql_num_rows($rs_result); $rs_row = mssql_fetch_array($rs_result); for($m=1;$m <=$row_num;$m++){ ?> <option value=" <?=$rs_row["sid"]?>"> <?=$rs_row["provs"]?> </option> <?php $rs_row = mssql_fetch_array($rs_result); } ?> </select> <select name="city" id="city"> <option>==请选择市== </option> </select> <input type="submit"> </form> 紧急求助,图片分个读取 解释一个php函数 请大家指点迷津!!!! 能同时提交文件和其他信息么?? thinkphp插入数据库操作错误 php获取字符acssii的函数 关于文件上传的问题 极度郁闷这么奇怪的问题! 请教,怎么用IIS来调试PHP,(操作系统win2000pro) 关于文件函数的问题 求救!!! php可以连上mysq但不能选择数据库???l 用PHP怎么生成验证码呀
<?php
$pro = $_POST['pre'];
$cit = $_POST['city'];
echo $pro;
echo $cit;
$str = "select * from country where provs != 0";
$result = mssql_query($str);
$rownum = mssql_num_rows($result);
$row = mssql_fetch_array($result);
?>
<script language="JavaScript">
var _option = new Array();
}
<?
for($i=0;$i <$rownum;$i++)
{
echo "_option[".$i."] = new Array('".$row["citis"]."',".$row["id"].",".$row["provs"].")\n";
$row = mssql_fetch_array($result);
}
?> 到这一段是有值的,数列是可以取出来的。
下面那段
====
$rs_result = mssql_query("select * from country where provs = 0");
====
这个取出来是空值,因为我没有provs为0的记录,然而我把这个provs改为1(我暂时拿1代替一个省的名字),可以取出来的是这个“1”省里面市的值,看代码原来就是这样设定的。而city这个下拉框则不能对这个省进行级联,现在脑袋死锁中,大家帮忙解一下,感觉这个程序并不是太难就不知道是哪个地方错了。
===
有点蒙,这个怎么调。
弄好了,谢谢leec1981 ,这段程序还比较简单。希望对大家有用。^_^<? include("dbconf.inc"); ?> //连接数据库用
<?php
$pro = $_POST['pre'];
$cit = $_POST['city'];
echo $pro;
echo $cit;
$str = "select * from country where sid != 0";
$result = mssql_query($str);
$rownum = mssql_num_rows($result);
$row = mssql_fetch_array($result);
?>
<script language="JavaScript">
var _option = new Array(); //建新的一维数组
<?
for($i=0;$i <$rownum;$i++)
{
echo "_option[".$i."] = new Array('".$row["citis"]."',".$row["id"].",".$row["sid"].")\n";
$row = mssql_fetch_array($result); //建包括省id和市id的二维数组
}
?>
function ChangeSelect(SelfId) //从pre多选框取省id的值
{
document.form_category.city.length = 0;
document.form_category.city.options[0] = new Option('==请选择市==','0');
for(i=0;i < _option.length;i++)
{
if(_option[i][2] == SelfId)
{
document.form_category.city.options[document.form_category.city.length] = new Option(_option[i][0],_option[i][1]); //转化成对应省的市列表
}
}
}
</script>
<form name="form_category" id="form_category" method="post" action="">
<select name="pre" id="pre" onChange="ChangeSelect(this.value);">
<option>==请选省/市== </option>
<?php
$rs_result = mssql_query("select distinct sid,provs from country ");
$row_num = mssql_num_rows($rs_result);
$rs_row = mssql_fetch_array($rs_result);
for($m=1;$m <=$row_num;$m++){
?>
<option value=" <?=$rs_row["sid"]?>"> <?=$rs_row["provs"]?> </option>
<?php
$rs_row = mssql_fetch_array($rs_result);
}
?>
</select>
<select name="city" id="city">
<option>==请选择市== </option>
</select>
<input type="submit">
</form>