方法1:onchange一次就提交一次表单,就可以传值给php了
为南安等地区用户提供了全套网页设计制作服务,及南安网站建设行业解决方案。主营业务为成都做网站、成都网站设计、南安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
方法2:Ajax提交
大概js传值给PHP就这两种办法了。
或者你可以考虑一次讲所有数据用PHP写成JS二维数组。当然,如果数据量太大,这样是不行的。
需要使用到ajax。到网上查下,一堆。代码是固定的。
数据库设置
id,area,areaname
1 210000 辽宁省
2 210100 沈阳市
3 210104 大东区
select name='area1' id='area1' onchange="get_area2(this.value);"
这里读取省的数据
$sql="select area,areaname from area where right(area,4)='0000'";
/select
select name='area2' id='area2 'onchange="get_area(this.value);"
这里根据ajax读取数据,开始的时候是空的
/select
select name='area' id='area'
这里根据ajax读取数据,开始的时候是空的
/select
方法:
1,首先写get_area2 的js 代码,这里就用到ajax读取,这里获取的数据是区域代码的前两位代码(比如:21)
这个在根据这个21的参数,读取表中相关的市,
$sql="select area,areaname from area where left(area,2)='21' and right(area,2)='00'";
这个语句读取出来21的市代码
2,同一读取出来区的代码
你这 是通过 后台取数据的,关改 上面的代码是没有用的,省市联动一般有两种做法。第一种,下载一个js的省 市联动的插件,调用插件就可以,第二种,就是存在数据库里,然后前端当省框的值改变 的时候就ajax去后台取出该省的所有市在市框中列出来,然后再市框的值改变的时候,再后台去取出该市所有的县区在前端列出来。现在大部份是用第一种做法比较好,下个插件吧
比如你有一个城市表
city,有字段id和city_name,
代码如下:
?php
$sql
=
'select
*
from
city';
$res
=
mysql_query($sql);
$cities
=
array();
while
($row
=
mysql_fetch_assoc($res)
)
{
$cities[$row['id']]
=
$row['name'];
}
?
--
请选择城市
--
?php
foreach
(
$cities
as
$id=
$city
)
{
?
?php
echo
$city;
?
原理就是从mysql查询出所有城市的数据并弄成一个数组$cities
,然后循环$cities,按照下拉表单的格式输出option选项就好了