我有3张桌子。
表目录:
id |业务
表类别:
id |类
第三个表将业务ID与类别ID匹配
table cat2dir:
id | catID | DIRID
第一页显示了类别列表。单击一个类别时,它会将URL上的ID发送到下一页。下一页我想显示该类别的业务列表。
编写PHP的正确方法是什么?
<?php
include 'config.php'; // mysql connection
function Getdir($dirId){
$a = $_GET['id'];
$result = mysql_query("SELECT dirID FROM 'cat2dir' WHERE 'catID'= '$a'");
return $return;
}
$sql = "select *" .
"from directory " .
"where id = '$Getdir()'";
答案 0 :(得分:0)
首先,您可以合并此查询。
SELECT * FROM directory WHERE id IN(SELECT dirID FROM cat2dir WHERE catID = $a
进一步发展的一些提示:
$_GET
- 变量而不检查mysqli
或PDO代替mysql
,弃用mysql_query
并未返回可用值,您应准备好进一步使用。您的函数返回不是dirID
。答案 1 :(得分:0)
SELECT
dir.id, dir.business
FROM
directory AS dir
INNER JOIN
cat2dir AS cat
ON
cat.dirID = dir.id
AND
cat.catID = <?php echo $_GET['category_id']; ?>
确保对$_GET
值执行必要的卫生以防止SQL注入