php - 如何编写此 SQL 语句来获取广告并发布? (PHP/MySQL)

标签 php sql mysql

我对如何编写这个 SQL 语句的逻辑有点困惑。当用户单击一个标签(例如 HTML)时,它将显示所有以 HTML 作为标签的帖子。 (一个帖子可以有多个标签)

我有三个表:

  1. 发帖-->posting_id、标题、详细信息、 等等
  2. 标签-->标签ID、标签名
  3. postingtag-->posting_id, tagID

我想显示所有帖子的标题和添加日期。

    global $dbc;
    $tagID=$_GET['tagID']; //the GET is set by URL

    //part I need help with. I need another WHERE statment to get to the posting table
    $query = "SELECT p.title,p.date_added, t.tagname FROM posting as p, 
    postingtag as pt, tags as t WHERE t.tagID=$tagID";

   $data = mysqli_query($dbc, $query);

  echo '<table>';
  echo '<tr><td><b>Title</b></td><td><b>Date Posted</b></td></tr>';
  while ($row = mysqli_fetch_array($data)) {         
     echo '<tr><td>'.$row['title'].'</td>';
     echo '<td>'.$row['date_added'].'</td></tr>';
     }
  echo '</table>';
}

我对 mySQL 相当陌生,所以仍在尝试弄清楚这一切的逻辑:)

最佳答案

使用 ANSI 语法写得更清楚:

select p.title, p.date_added, t.tagname 
from posting p
inner join postingtag pt on p.postingID = pt.postingID
inner join tags t on pt.tagID = t.tagID
where t.tagID=$tagID

关于php - 如何编写此 SQL 语句来获取广告并发布? (PHP/MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595120/

相关文章:

php - 尽管 z-index 换行?

javascript - 如何将 PHP 用户详细信息( session )解析到 Node.js 服务器?

php - 在php中获取x的y根,例如8的3根是2

用于选择包含一组值的所有组的 SQL 语句

sql - array_length() 函数的第二个参数是什么?

java - JDBC:使用 PreparedStatement 创建表,SQL 语法错误与否?

php - 我无法让我的登录表单与 mySQL 数据库正确连接交互

php - 如何从 PHP 数组中获取 `json_encode()` 键?

php - 有没有办法在 PHP 中按表名分隔 MySQL 查询结果?

mysql - 使用 MySQL CURDATE() 和 CURTIME() 返回即将到来但未通过的结果