php网页中循环级联下拉框后出现重复数据如何删除

php中文网
发布: 2016-06-20 12:46:15
原创
1130人浏览过

例如:一种物料有多种样式,不同厚度的芯板,不同厚度的树脂布。
在php网页中利用javascript做级联下拉框。将物料作为一个下拉框(主选),当选择其中一种物料时,如何将其对应的芯板赋于一个下拉框(衍生框1),其对应的树脂布赋于另一个下拉框(衍生框2),.我的代码如下,为何运行时会衍生框会出现重复数据?请教名位大大,这个重复数据如何删除?










header("content-type: text/html; charset=gb2312");
$link = mysql_connect("localhost", "root", "12345670")
   or die("could not connect : " . mysql_error()); 
mysql_select_db("test") or die("could not select database");
mysql_query("set names 'gb2312'");
$sqlsel = "select * from material ";
$result = mysql_query($sqlsel) or die("query failed : " . mysql_error()); 

$forum_data = array();
while( $row = mysql_fetch_array($result) )
{
   $forum_data[] = $row;
}
//print_r ($forum_data);
mysql_free_result($result);

       
$sqlsel2 = "select * from core left join prepreg on core.material=prepreg.material";

if( !($result2 = mysql_query($sqlsel2)) )
{
   die('could not query core list');
}

$forum_data2 = array();
while( $row2 = mysql_fetch_array($result2) )
{
   $forum_data2[] = $row2;
}

mysql_free_result($result2);

?>


<script> <br />var onecount2; <br />subcat2 = new array(); <br /><?php <br />$num2 = count($forum_data2); <br />?> <br />onecount2=<?php echo $num2;?>; <br /><?php <br />for($j=0;$j<$num2;$j++) <br />{ <br />?> <br />subcat2[<?php echo $j;?>] = new array("<?php echo $forum_data2[$j]['thick'];?>",<?php echo $forum_data2[$j]['material'];?>","<?php echo $forum_data2[$j]['core'];?>","<?php echo $forum_data2[$j]['prepreg'];?>"); <br /><?php }?> <br />function changelocation(material) <br />{ <br />document.myform.city.length = 0; <br />var material=material; <br />var j; <br />document.myform.city.options[0] = new option('====',''); <br />for (j=0;j < onecount2; j++) <br />{ <br />if (subcat2[j][1] == material) <br /> { <br /> document.myform.city.options[document.myform.city.length] = new option(subcat2[j][2],subcat2[j][0]); <br /> document.myform.p1.options[document.myform.p1.length] = new option(subcat2[j][3],subcat2[j][0]); <br /> <br /> } <br />} <br />} <br /> function removealloptions(selectbox){ <br /> var i; <br /> for(i=selectbox.options.length-1;i>=0;i--) { <br /> selectbox.remove(i); <br /> } <br /> } <br /></script>
 
 




 



回复讨论(解决方案)

function removeAllOptions(selectbox){    
   var i;    
   for(i=selectbox.options.length-1;i>=0;i--)    {      
   selectbox.remove(i);    
   }
   }

这个方法没有调用,应该选择之后,清一次,然后再把合适的数据加如options
在changelocation方法中加入:

function changelocation(Material) { document.myform.city.length = 0; var Material=Material; var j; document.myform.city.options[0] = new Option('====',''); removeAllOptions(document.myform.p1); // 加这里for (j=0;j < onecount2; j++) { 	if (subcat2[j][1] == Material) 	   { 	   document.myform.city.options[document.myform.city.length] = new Option(subcat2[j][2],subcat2[j][0]);	     document.myform.p1.options[document.myform.p1.length] = new Option(subcat2[j][3],subcat2[j][0]);	   	            } 	} }
登录后复制

非常感谢你的回复。不知道怎么回事,现在下拉框居然都无法联动了。等下再仔细研究一下。太郁闷了!能不能用下拉框选项值匹配数据表名啊(刚学,啥都不懂,可以的话能将源码发给我吗~~jinyuexuan@163.com)~~

在查询的语句用 groud by  字段名  不就可以了??

在查询的语句用 groud by  字段名  不就可以了??



例如,下拉框中有A,B,C,等动态选项,PHP页面用它们如何匹配数据表名A,B,C等呢?新人不懂,给个源码可以吗?(30分)
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号