2013-04-21 129 views
0

我正在创建3个下拉列表,这是基于彼此的选择,所以第一选择我正常,但第二个依赖于第一个选择,第三个依赖于第二个选择这是表结构是这样php mysql填充几个动态下拉列表

类别的子类别和subsubcategory

这是代码

<?php 

require "config.php"; // Database details 
?> 

<!doctype html public "-//w3c//dtd html 3.2//en"> 

<html> 

<head> 
<title>Demo of Three Multiple drop down list box from plus2net</title> 
<meta name="GENERATOR" content="Arachnophilia 4.0"> 
<meta name="FORMATTER" content="Arachnophilia 4.0"> 
<SCRIPT language=JavaScript> 
function reload(form) 
{ 
var val=form.cat.options[form.cat.options.selectedIndex].value; 
self.location='dd3.php?cat=' + val ; 
} 
function reload3(form) 
{ 
var val=form.cat.options[form.cat.options.selectedIndex].value; 
var val2=form.subcat.options[form.subcat.options.selectedIndex].value; 

self.location='dd3.php?cat=' + val + '&cat3=' + val2 ; 
} 

</script> 
</head> 

<body> 
<? 



$quer2=mysql_query("SELECT DISTINCT category,cat_id FROM category order by category"); 

$cat=$_GET['cat']; 
if(isset($cat) and strlen($cat) > 0){ 
$quer=mysql_query("SELECT DISTINCT subcategory,subcat_id FROM subcategory where cat_id=$cat order by subcategory"); 
}else{$quer=mysql_query("SELECT DISTINCT subcategory,subcat_id FROM subcategory order by subcategory"); } 




$cat3=$_GET['cat3']; 
if(isset($cat3) and strlen($cat3) > 0){ 
$quer3=mysql_query("SELECT DISTINCT subcat2 FROM subcategory2 where subcat_id=$cat3 order by subcat2"); 
}else{$quer3=mysql_query("SELECT DISTINCT subcat2 FROM subcategory2 order by subcat2"); } 


echo "<form method=post name=f1 action='dd3ck.php'>"; 

echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>"; 
while($noticia2 = mysql_fetch_array($quer2)) { 
if($noticia2['cat_id'][email protected]$cat){echo "<option selected value='$noticia2[cat_id]'>$noticia2[category]</option>"."<BR>";} 
else{echo "<option value='$noticia2[cat_id]'>$noticia2[category]</option>";} 
} 
echo "</select>"; 

echo "<select name='subcat' onchange=\"reload3(this.form)\"><option value=''>Select one</option>"; 
while($noticia = mysql_fetch_array($quer)) { 
if($noticia['subcat_id'][email protected]$cat3){echo "<option selected value='$noticia[subcat_id]'>$noticia[subcategory]</option>"."<BR>";} 
else{echo "<option value='$noticia[subcat_id]'>$noticia[subcategory]</option>";} 
} 
echo "</select>"; 

echo "<select name='subcat3' ><option value=''>Select one</option>"; 
while($noticia = mysql_fetch_array($quer3)) { 
echo "<option value='$noticia[subcat2]'>$noticia[subcat2]</option>"; 
} 
echo "</select>"; 



echo "<input type=submit value='Submit the form data'></form>"; 
?> 

</body> 

</html> 

谁能帮助我?

,这是当我运行这段代码

0){ $quer=mysql_query("SELECT DISTINCT subcategory,subcat_id FROM subcategory where cat_id=$cat order by subcategory"); }else{$quer=mysql_query("SELECT DISTINCT subcategory,subcat_id FROM subcategory order by subcategory"); } $cat3=$_GET['cat3']; if(isset($cat3) and strlen($cat3) > 0){ $quer3=mysql_query("SELECT DISTINCT subcat2 FROM subcategory2 where subcat_id=$cat3 order by subcat2"); }else{$quer3=mysql_query("SELECT DISTINCT subcat2 FROM subcategory2 order by subcat2"); } echo " 
"; echo ""; echo ""; echo ""; echo " 
"; ?> 
+0

您的PHP代码出现问题......正确显示。 – bwoebi 2013-04-21 18:07:21

+0

上面的代码是我写的,但第二它不是一个PHP代码它是浏览器上的输出,当我尝试运行代码 – user2288138 2013-04-21 18:09:43

+0

你确定有正确的'<?php'-Tags(例如没有' <?',只有'<?php'?),并且你的文件名以'.php'结尾? – bwoebi 2013-04-21 18:11:52

回答

0

只有一个<?不是<?php在较低的PHP代码从if语句开始和>结束它,我想输出。但这可能不是问题。

+0

这很有趣,这是错误 – user2288138 2013-04-21 18:14:05

0

可能是PHP短标签在您的服务器中被禁用。所以如果你使用PHP的短标签,它将无法工作。

检查此链接以了解如何在PHP中启用短标签。 http://www.tomjepson.co.uk/enabling-short-tags-in-php/

但是,如果你不能启用短标签,那么你需要正确打开PHP标签

<?错了,它应该是<?php。在你的代码中改变它。完整的代码将是:

<?php 

require "config.php"; // Database details 
?> 

<!doctype html public "-//w3c//dtd html 3.2//en"> 

<html> 

<head> 
<title>Demo of Three Multiple drop down list box from plus2net</title> 
<meta name="GENERATOR" content="Arachnophilia 4.0"> 
<meta name="FORMATTER" content="Arachnophilia 4.0"> 
<SCRIPT language=JavaScript> 
function reload(form) 
{ 
var val=form.cat.options[form.cat.options.selectedIndex].value; 
self.location='dd3.php?cat=' + val ; 
} 
function reload3(form) 
{ 
var val=form.cat.options[form.cat.options.selectedIndex].value; 
var val2=form.subcat.options[form.subcat.options.selectedIndex].value; 

self.location='dd3.php?cat=' + val + '&cat3=' + val2 ; 
} 

</script> 
</head> 

<body> 
<?php 



$quer2=mysql_query("SELECT DISTINCT category,cat_id FROM category order by category"); 

$cat=$_GET['cat']; 
if(isset($cat) and strlen($cat) > 0){ 
$quer=mysql_query("SELECT DISTINCT subcategory,subcat_id FROM subcategory where cat_id=$cat order by subcategory"); 
}else{$quer=mysql_query("SELECT DISTINCT subcategory,subcat_id FROM subcategory order by subcategory"); } 




$cat3=$_GET['cat3']; 
if(isset($cat3) and strlen($cat3) > 0){ 
$quer3=mysql_query("SELECT DISTINCT subcat2 FROM subcategory2 where subcat_id=$cat3 order by subcat2"); 
}else{$quer3=mysql_query("SELECT DISTINCT subcat2 FROM subcategory2 order by subcat2"); } 


echo "<form method=post name=f1 action='dd3ck.php'>"; 

echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>"; 
while($noticia2 = mysql_fetch_array($quer2)) { 
if($noticia2['cat_id'][email protected]$cat){echo "<option selected value='$noticia2[cat_id]'>$noticia2[category]</option>"."<BR>";} 
else{echo "<option value='$noticia2[cat_id]'>$noticia2[category]</option>";} 
} 
echo "</select>"; 

echo "<select name='subcat' onchange=\"reload3(this.form)\"><option value=''>Select one</option>"; 
while($noticia = mysql_fetch_array($quer)) { 
if($noticia['subcat_id'][email protected]$cat3){echo "<option selected value='$noticia[subcat_id]'>$noticia[subcategory]</option>"."<BR>";} 
else{echo "<option value='$noticia[subcat_id]'>$noticia[subcategory]</option>";} 
} 
echo "</select>"; 

echo "<select name='subcat3' ><option value=''>Select one</option>"; 
while($noticia = mysql_fetch_array($quer3)) { 
echo "<option value='$noticia[subcat2]'>$noticia[subcat2]</option>"; 
} 
echo "</select>"; 



echo "<input type=submit value='Submit the form data'></form>"; 
?> 

</body> 

</html>