2013-04-21 121 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>