2014-01-22 40 views
0

首先謝謝你們幫助我解決這個小問題。下拉列表數據不匹配使用PHP和MySQL

直接的事情,但首先我一直在搜索這個腳本搜索它,當然在這個論壇。

我的數據庫:

(1)。 tbl_barang>

id_barang id_kategori id_klasifikasi nama_barang

(2)。 tbl_kategori>

id_kategori nama_kategori

(3)。 tbl_klasifikasi>

id_klasifikasi nama_klasifikasi

在這裏,我的劇本>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Untitled Document</title> 
<script language="javascript" type="text/javascript"> 
    function showBarang(katid) { 
     document.frm.submit(); 
    } 
</script> 
</head> 
<body> 
<form action="" method="post" name="frm" id="frm"> 
<table width="500" border="0"> 

<!--Kategori--> 
    <tr> 
    <td width="119">Kategori</td> 
    <td width="371"> 
     <select name="id_kategori" id="id_kategori" onChange="showBarang(this.value);"> 
     <option value="">--Select--</option> 
     <?php 
     $sql1="select * from tbl_kategori"; 
     $sql_row1=mysql_query($sql1); 
     while($sql_res1=mysql_fetch_assoc($sql_row1)) 
     { 
     ?> 
     <option value="<?php echo $sql_res1["id_kategori"]; ?>" <?php if($sql_res1["id_kategori"]==$_REQUEST["id_kategori"]) { echo "Selected"; } ?>><?php echo $sql_res1["nama_kategori"]; ?></option> 
     <?php 
     } 
     ?> 
     </select> 
     </td> 
    </tr> 
<!-- Klasifikasi --> 
<tr> 
    <td>Klasifikasi</td> 
    <td id="td_company"> 
     <select name="id_klasifikasi" id="id_klasifikasi" onChange="showBarang(this.value);"> 
     <option value="">--Select--</option> 
     <?php 
     $sql1="select * from tbl_klasifikasi"; 
     $sql_row1=mysql_query($sql1); 
     while($sql_res1=mysql_fetch_assoc($sql_row1)) 
     { 
     ?> 
     <option value="<?php echo $sql_res1["id_klasifikasi"]; ?>" <?php if($sql_res1["id_klasifikasi"]==$_REQUEST["id_klasifikasi"]) { echo "Selected"; } ?>><?php echo $sql_res1["nama_klasifikasi"]; ?></option> 
     <?php 
     } 
     ?> 
    </select> 
     </td> 
    </tr> 
    <tr> 
    <td>Nama Barang</td> 
    <td id="td_company"> 
     <select name="id_barang" id="id_barang"> 

     <option value="">--Select--</option> 
     <?php 
     $sql="select * from tbl_barang where id_kategori and id_klasifikasi='$_REQUEST[id_kategori] && [id_klasifikasi]'"; 
     $sql_row=mysql_query($sql); 
     while($sql_res=mysql_fetch_assoc($sql_row)) 
     { 
     ?> 
     <option value="<?php echo $sql_res["id_barang"]; ?>"><?php echo $sql_res["nama_barang"]; ?></option> 
     <?php 
     } 
     ?> 
    </select> 
     </td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
</table> 
</form> 
</body> 
</html> 

的問題是,當我們選擇和駕駛員學校選擇klasifikasi數據 'nama_barang' 應該顯示在第三下拉列表上。但這一切都很糟糕,我不知道如何從不同的表中請求兩個id,並從一張表'tbl_barang'中顯示它。

短小的問題是,我不知道如何顯示來自tbl_barang>'nama_barang'的數據,這些數據來自'tbl_kategori'和'tbl_klasifikasi'。

非常感謝你,如果有人在這裏幫助我,已經三天了,我被卡住了。

謝謝你,最好的問候,

克里斯

+0

爲什麼字段和字段='東西&&其他'奇怪的東西?爲什麼不在WHERE id_kategori =「。($ _ REQUEST ['id_kategori'] + 0)。」 AND ID_klasifikasi =「。($ _ REQUEST ['id_klasifikasi'] + 0)? – aconrad

+0

我會試試看,謝謝...... :) – Kris

回答

0

我認爲你正在嘗試做不同的表之間的join

下一點是你的SQL語法:

$sql="select * from tbl_barang where id_kategori and id_klasifikasi='$_REQUEST[id_kategori] && [id_klasifikasi]'"; 

試試這個:

$sql="select * from tbl_barang where id_kategori = ".$_REQUEST[id_kategori]." and id_klasifikasi = ".$_REQUEST[id_klasifikasi].";"; 

當這些ID存儲爲數字不要用引號來包裝它們。

希望它有幫助。你不清楚你的問題。

+0

謝謝你的回覆,我會試試.... :) – Kris

+0

@Kris當答案是解決方案時,請將其標記爲正確答案:) – Alesfatalis