【问题标题】:How to create hyper text link between two mysql tables through php如何通过php在两个mysql表之间创建超文本链接
【发布时间】:2012-10-10 15:16:36
【问题描述】:

首先,抱歉,因为我不确定我正在做的问题是否与 mysql 中所谓的“关系”有关(我不是专家)。

问题是我从 PHP 执行查询以调用存储在 mysql 数据库中的表,假设:

+-------+-----+
|NAME   |YEAR |
+-------+-----+
|Ana    |1990 |
|John   |1987 |
|Jane   |1992 |
+-------+-----+

我在 mysql 中有第二张表,假设是这个:

+-------+----------+
|NAME   |CITY      |
+-------+----------+
|Ana    |Barcelona |
|John   |Santiago  |
|Jane   |La Habana |
+-------+----------+

所以我需要做的是,在我通过 PHP 看到的第一个表中,具有可点击的名称,所以如果我单击 Ana,则在第二个 PHP 页面上获取:

“安娜在巴塞罗那”

对不起,如果我太天真而无法表达自己。

【问题讨论】:

    标签: php mysql hyperlink


    【解决方案1】:

    您需要通过 MySQL 查询加载第一组数据,然后创建指向第二个页面的链接(通过发布或获取变量)以查找下一组数据。

    简单的 MySQL 查询,真的。

    【讨论】:

    • 对不起朋友,我不是专家,能不能给个更详细的建议,我听不懂你说什么。
    • 如果您想在前端(如网页)上向某人显示此表,则需要使用 PHP 从数据库中请求此数据。阅读 MySQL 查询,并使用它来生成一个数组,您可以从中形成第一个表。之后,使用类似的方法来制作第二个。请记住 Stack Overflow 是一个问答网站,而不是教程或个人帮助网站。网上有大量关于 MySQL 查询的介绍教程。
    【解决方案2】:

    在 page1 中打印 Anna 时,创建指向 page2 的链接并使用 GET 发送 Anna
    将链接设为 <a href=page2.php?name=Anna>Anna</a>。此数据可用于 page2,并且可以使用 GET 全局数组 $_GET['name'] 访问。现在您可以轻松创建查询。

    【讨论】:

      【解决方案3】:

      您可以在显示第一个结果的查询中使用JOIN

      SELECT myFirstTable.name, myFirstTable.year, mySecondTable.city FROM myFirstTable LEFT JOIN ON mySecondTable.name=myFirstTable.name WHERE 1
      

      然后在您的 php 中,您可以将第三个结果分配给您要显示的页面。

      【讨论】:

      • 谢谢 Luis,我已经尝试过你的解决方案,我的实际查询是我在 phpmyadim 中尝试过的一个,但它不起作用:SELECT Bibliografias.Traductor, TradBiograficos.Nombre FROM Bibliografias LEFT JOIN ON TradBiograficos.Nombre =Bibliografias.Traductor WHERE Traductor LIKE 'A%' GROUP BY Traductor 我得到的错误是:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'ON TradBiograficos.Nombre=Bibliografias.Traductor WHERE Traductor LIKE 'A%' GROU' 附近使用正确的语法
      • 根据您链接我的手册,我将查询更改为:SELECT Traductor FROM Bibliografias LEFT JOIN TradBiograficos ON TradBiograficos.Nombre = Bibliografias.Traductor WHERE Traductor LIKE 'A%' GROUP BY Traductor这给了我翻译者列表,但我认为你在这里所说的“然后在你的 php 上,你可以将第三个结果分配给你想要显示的页面”,这就是我所缺乏的(也许)。
      • 我已经尝试过另一个相同的结果: SELECT Bibliografias.Traductor FROM Bibliografias LEFT JOIN TradBiograficos ON Bibliografias.Traductor = TradBiograficos.Nombre WHERE Nombre LIKE 'A%' GROUP BY Nombre跨度>
      • 对不起,我之前没有回答你,但我不在城里。好的,在您的第一个查询中,在 WHERE 子句中输入WHERE Traductor LIKE 'A%'。您收到错误消息,因为您没有输入表名,而是使用 table.field 表示法。所以正确的查询是SELECT Bibliografias.Traductor, TradBiograficos.Nombre FROM Bibliografias LEFT JOIN ON TradBiograficos.Nombre=Bibliografias.Traductor WHERE Bibliografias.Traductor LIKE 'A%' GROUP BY Bibliografias.Traductor
      猜你喜欢
      • 2011-08-29
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      相关资源
      最近更新 更多