Maison >développement back-end >tutoriel php >php网页中循环级联下拉框后出现重复数据怎么删除

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

WBOY
WBOYoriginal
2016-06-13 12:26:01842parcourir

php网页中循环级联下拉框后出现重复数据如何删除
例如:一种物料有多种样式,不同厚度的芯板,不同厚度的树脂布。
在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方法中加入:
<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 /><br />removeAllOptions(document.myform.p1); // 加这里<br /><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 />
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn