1

我有 3 张桌子。

表目录:
id | 商业

表类别:
id | 类别

第三个表将业务 ID 与类别 ID
表 cat2dir 匹配:
id | 猫ID | 目录号

第一页显示类别列表。当点击一个类别时,它会将 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()'";
4

2 回答 2

0

首先,您可以合并此查询。

SELECT * FROM directory WHERE id IN(SELECT dirID FROM cat2dir WHERE catID = $a

进一步发展的一些提示:

  • 不要在$_GET不检查的情况下使用 -variables
  • 使用mysqlior PDO 代替mysql, 已弃用
  • 请记住,这mysql_query不是返回可用值,您应该为进一步使用做好准备。您的函数的返回不会是dirID.
于 2013-07-20T18:01:55.313 回答
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 注入

于 2013-07-20T18:03:37.610 回答