使用不同表中的SQL搜索表单

时间:2015-10-26 02:53:51

标签: php mysql

我正在尝试为CD收藏创建一个搜索表单。我们有3个表,所有表都是通过ID号链接..但是首先我希望得到两个表首先工作

对于Search.php,我正在努力解决定义。我已经从两个表中定义了ID但是如何获取ID以链接到Desc?

   

2 个答案:

答案 0 :(得分:1)

由于您未在select查询中选择导致未定义索引错误的catDesc。重写您的代码如下

$sqlCD = "SELECT nmc_cd.CDID, nmc_cd.CDTitle, nmc_cd.CDYear, nmc_cd.CDPrice, nmc_cd.catID, nmc_category.catDesc
FROM nmc_cd
JOIN nmc_category on (nmc_cd.catID = nmc_category.catID)
WHERE nmc_cd.CDTitle = '$pCDTitle' OR nmc_cd.CDYear = '$pCDYear' OR         
nmc_category.catDesc = '$pCDCategory'";

将根据需要显示结果。如果您有任何进一步的错误,请告诉我。

答案 1 :(得分:0)

我认为你正在尝试将3张桌子连在一起,你几乎拥有它。

您需要像对类别一样将第二个连接添加到描述表中。然后在您的select语句中添加连接表中的列。下面的示例中,我假设您需要更正这些数据库和列名。

SELECT nmc_cd.CDID, nmc_cd.CDTitle, nmc_cd.CDYear, nmc_cd.CDPrice, nmc_cd.catID, nmc_description.description
FROM nmc_cd
JOIN nmc_category on (nmc_cd.catID = nmc_category.catID)
JOIN nmc_description on (nmc_cd.catID = nmc_description.catID)
WHERE nmc_cd.CDTitle = '$pCDTitle' OR nmc_cd.CDYear = '$pCDYear' OR     
nmc_category.catDesc = '$pCDCategory'