php - 使用php和mysql的下拉列表数据不匹配

标签 php mysql

首先感谢你们帮助我解决了这个小问题。

言归正传,但首先我一直在通过谷歌搜索来查找这个脚本,当然还有这个论坛。

我的数据库:

(1)。 tbl_barang >

id_barang id_类别 id_klasifikasi 纳马_巴朗

(2)。 tbl_类别 >

id_类别 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' 的相关 id。

非常感谢这里有人帮助我,已经三天了,我被困住了。

谢谢您并致以最诚挚的问候,

克里斯

最佳答案

我认为你正在尝试做 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 存储为数字时,不要使用引号将它们括起来。

希望有帮助。目前还不清楚你的问题是什么。

关于php - 使用php和mysql的下拉列表数据不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21279507/

相关文章:

mysql - 将从不同查询返回的行追加到一个查询中

javascript - 如果存在新记录,则启用编辑按钮

php - 在 JQUERY/AJAX 中使用 .html() 更新 MySQL

Mysql执行计划错误

php - PHP如何使用localhost用户和特定绑定(bind)地址连接到mysql

php - 在函数 php 中组合 mysql 查询

带下拉菜单的 PHP 页面

php - Smarty 作为子模块

php - 是否可以将不同服务器上的 2 个 MySQL 数据库链接在一起?就像可访问的备份一样

php - 准备语句——跨表更新