我在做一个工程中,因为要计算起讫地点之间的距离,因此涉及到级联显示,在这里遇到问题,请大家指点指点!例:西安——北京 700公里
西安——上海 600公里
西安——黑龙江 1000公里北京——西安 700公里
北京——上海 200公里
北京——汉中 1000公里上海——西安 600公里
上海——北京 200公里
上海——汉中 800公里。
。
。请问这个如何做数据字段和如何使用级联高效计算里程?
西安——上海 600公里
西安——黑龙江 1000公里北京——西安 700公里
北京——上海 200公里
北京——汉中 1000公里上海——西安 600公里
上海——北京 200公里
上海——汉中 800公里。
。
。请问这个如何做数据字段和如何使用级联高效计算里程?
(LIKE 字段1=条件1 and like 字段2=条件2)or(LIKE 字段1=条件2 and like 字段2=条件1)
有时就是把起止地名前后输出而已,而数据库中实际一条纪录即可,以上思路做个参考吧。
感谢xianfajushi的回答!西安——北京 700公里 这里的距离时固定的,不是累加!!因为要级联效果,A下拉选择框,选择西安,那么B下拉选择框就级联显示西安可以到达的地方北京、上海等,但是因为西安——北京就是北京——西安这种情况,因此级联内容就比较乱了!!
西安——上海 600公里 //西安,上海,600,0
西安——黑龙江 1000公里//西安,黑龙江,1000,0北京——西安 700公里 //西安,北京,700,1
北京——上海 200公里 //北京,上海,200,0 //200?!u new b
北京——汉中 1000公里//北京,汉中,1000,0上海——西安 600公里 //上海,西安,600,0
上海——北京 200公里 //北京,上海,200,1
上海——汉中 800公里 //上海,汉中,800,0能看懂吗?加个方向就解决了...
不知道你实际运行测试过没有,做一个出来试试看,然后选择最佳的。
如果从北京-西安存在各个路段则可以加一个声明字段作为累加用是必要的,如:北京-A,A-B,B-C,C-西安;加一个标记字段注明:北京-西安,就可以很方便按条件搜索到所需数据进行相应处理了。
下拉控件1 ADD数据库所有不重名的地点,供下拉选择;
下拉控件1返回信息用于搜寻[字段1]与[字段2]符合条件的ADD下拉控件2,因为:北京-上海,上海-北京只有一条记录,类似的
北京-A,
北京-B,
北京-C,
北京-西安,
西安-D,
西安-E,
西安-F,
都只有一条记录,
当需要西安-北京时,取北京-西安记录加载即可;因此,如果下拉1选择北京时-西安的只会找到一个记录,怎么会乱?如果选择下拉1[西安]时,则西安-北京只有一条记录被找到。
数据库名称 条件 [字段1 LIKE 西安]OR[字段2 LIKE 西安] 排序。则得到所以包含西安记录,
然后,读取[字段1-起地]读取[字段2-止地]读取[字段3-公里数],
判断IF(字段1!=“西安”){字段1 ADD 下拉控件2;ADD公里数}IF(字段2!=“西安”){字段2 ADD 下拉控件2;ADD公里数}这样就获得所有数据了嘛
其实就是只要搜索得到符合条件的记录,就可以读取出来,怎么处理都好玩啊!
id="city1" >
<option selected value="">Select</option>
<option value="1">西安</option>
<option value="2">北京</option>
<option value="3">上海</option>
</select>
City:
<select name="city" style="WIDTH:130px" id="city" runat="server">
<option value="" selected>Select</option>
</select>
<script language="javascript">
var select1_len = document.getElementById("city1").options.length;
var select2 = new Array(select1_len);
for (i=0; i<select1_len; i++)
{ select2[i] = new Array();}
select2[0][0] = new Option("Select", "");
select2[1][0] = new Option("北京 700公里", "");
select2[1][1] = new Option("上海 600公里", "");
select2[1][2] = new Option("黑龙江 1000公里", "");select2[2][0] = new Option("西安 700公里", "");
select2[2][1] = new Option("上海 200公里", "");
select2[2][2] = new Option("汉中 1000公里", "");select2[3][0] = new Option("西安 600公里", "");
select2[3][1] = new Option("北京 200公里", "");
select2[3][2] = new Option("汉中 800公里", "");
function redirec(x)
{
var temp = document.getElementById("city");
temp.length = 0;
for (i=0;i<select2[x].length;i++)
{ temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);}
temp.options[0].selected=true;
}
</script>