利用xml+php解决下拉菜单连动问题

son_of_china 2006-04-13 10:11:59
表citys结构
id int
state char(10)
city char(10)

citys表中数据
id state city
1 华北 北京
2 华北 天津
3 东北 沈阳
4 东北 大连
5 华中 武汉
6 华中 长沙

db.php
<?php @ $db = new mysqli('localhost', 'root', 'sscyy', 'mydb');

if (mysqli_connect_errno())
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}
?>

cityselect.php
<?
$strPathInfo=$_SERVER['REQUEST_URI'];
$strPathInfo = "http://" .'localhost' .substr($strPathInfo,0,strrpos($strPathInfo,"/"));

require("db.php");

$sql="SELECT DISTINCT state FROM citys";
$result=$db->query($sql);
?>

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<TITLE></TITLE>
<SCRIPT language=javascript>
<!--
function ChooseCity()
{
//file://Clear City List
for(var i=form1.SelCity.options.length-1;i>=0;--i){
form1.SelCity.options.remove(i)
}
var sState = form1.SelState.options(form1.SelState.selectedIndex).value;

var oXMLDoc = new ActiveXObject('MSXML');
sURL = '<?echo $strPathInfo?>/XMLCity.php?State=' + sState;
oXMLDoc.url = sURL;
var oRoot=oXMLDoc.root;
if(oRoot.children != null){
for(var i=0;i<oRoot.children.length;++i){
oItem = oRoot.children.item(i);
sName = oItem.text;
var oOption = document.createElement('OPTION');
oOption.text = sName;
oOption.value = sName;
form1.SelCity.options.add(oOption);
}
}
}
-->
</SCRIPT>
</HEAD>
<BODY>
<FORM action="" method="post" id="form1" name="form1">
<SELECT name="SelState" id="SelState" onchange="ChooseCity()">
<OPTION ></OPTION>
<?$num_results = $result->num_rows;
for($i=0;$i<$num_results;$i++){
$row=$result->fetch_assoc();
?>
<OPTION value="<?echo $row['state']?>"><?echo $row['state']?></OPTION>
<?}?>
</SELECT>
<SELECT name="SelCity" id="SelCity">
</SELECT>
</FORM>
</BODY>
</HTML>

xmlcity.php
<?
require("db.php");

$sql="SELECT city FROM citys where state='".$_GET['State']."'";
$result=$db->query($sql);

?>
<?echo '<?xml version="1.0" encoding="gb2312" ?>'?>
<citys>
<?
$num_results = $result->num_rows;
for($i=0;$i<$num_results;$i++){
$row=$result->fetch_assoc();
?>
<city><?echo $row['city'];?></city>
<?}?>
</citys>
...全文
194 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglei051 2006-04-14
  • 打赏
  • 举报
回复
学习
iasky 2006-04-13
  • 打赏
  • 举报
回复
mark

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧