MySQL 根据来自 URL 的 ID 从两个表中选择

标签 mysql pdo

我有一个问题。我是 MySQL 的新手。到目前为止,我只需要简单的查询,一切正常。但是,现在我有一个问题。我有两个表:

  1. 表格关税

    +----+---------------+
    | id |  ime_tarife   |
    +----+---------------+
    |  1 | Neka tarifa 1 |
    |  2 | Neka tarifa 2 |
    +----+---------------+
    
  2. telefoni_dodatak

    +----+--------------+-----------+-------+
    | id | telefoni_id  | tarifa_id | price |
    +----+--------------+-----------+-------+
    |  1 |           35 |         1 |   650 |
    |  2 |           35 |         2 |   700 |
    +----+--------------+-----------+-------+
    

此表中的所有值都是整数。

我有这样的 URL www.example.com/phones/35/ 其中数字 35 代表页面的 id(在第三个表中使用),它也被写为 telefoni_id 在表 telefoni_dodatak 中。

tarifa_id 列具有来自表 tarife 的 ID 号。

我必须根据 url www.example.com/phones/35/ 中的 id 在 HTML 中获得这样的输出:

Neka tarifa 1 | 650
-------------------
Neka tarifa 2 | 700

我试过这个查询:

SELECT *, (SELECT ime_tarife FROM tarife WHERE id = (SELECT tarifa_id FROM telefoni_dodatak WHERE telefoni_id = :id)) AS nazivTarife FROM telefoni_dodatak WHERE telefoni_id = :id

但这行不通。 (nazivTarife 未定义。应该是?)

我正在使用 PDO,:id 是来自 url 的数字 35。

附言此查询 SELECT * FROM telefoni_dodatak WHERE telefoni_id = :id 工作正常,我得到的价格都是 650 和 700。

在此先感谢您的帮助!

最佳答案

你为什么不加入呢?

SELECT  a.ime_tarife, b.price 
FROM    tarife a
        INNER JOIN telefoni_dodatak b
            ON a.id = b.tarifa_id 
WHERE   b.telefoni_id = 35

关于MySQL 根据来自 URL 的 ID 从两个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025142/

相关文章:

PHP-将今天的日期插入 MySql 字段不起作用

mysql - 在 mysql 中存储大型 float 据数组以便通过 django 访问的最有效方法是什么?

PHP - PDO 回显 $array ['name' ];不管用

php - MySQL 根据表列中的值返回不同的字符串

未收到 PHP AJAX MYSQL 发布数据

php - 查询mysql数据库时PDO查询没有返回结果

php - Laravel 不可能在哪里查询

php - Cronjob 中的方法发布

php - 如何高效更新10万条记录的MySQL数据库

php - 在 PHP 中使用 PDO 绑定(bind)参数