php - 使用php使用mysql中两个表中的相同列从2个表中检索数据

标签 php mysql sql

我在数据库中有 2 个名为“详细信息”的表,并报告这两个表都有一个名为 ono(订单号)的公共(public)字段,我需要从两个表中检索特定订单号的数据,并使用 php 将其显示在表中。我只能显示单个表中的数据。

代码:

<?php
mysql_connect ("localhost", "root","")  or die (mysql_error());
mysql_select_db ("name");
$term = $_POST['term'];
$sql = mysql_query("select * from details where details.ono='$term'");
while ($row = mysql_fetch_array($sql)){
echo "<fieldset>";
echo "<table width='1400' cellpadding='5' cellspacing='5' border='0'>";
echo "<tr><td>Patient Name: ".$row['details.pname']."</td><td>Order NO:         ".$row['report.labid']."</td></tr>";
echo "<tr><td>Ph no: ".$row['phno']."</td><td>Age: ".$row['age']."</td></tr>";
echo "<tr><td>Ref doc: ".$row['rdoc']."</td><td>Received on: ".$row['Sdate']."</td></tr>";
echo "</table>";
echo "</fieldset>";
}
?>

最佳答案

您应该详细说明您想要什么。

您可以使用 INNER JOIN:

SELECT column1, column2 FROM details INNER JOIN reports ON reports.ono = details.ono AND details.ono='$term'

但是您也可以使用 UNION ALL 这取决于您想要实现的目标。

SELECT column1, column2 FROM details WHERE details.ono='$term'
UNION ALL
SELECT column1, column2 FROM reports WHERE reports .ono='$term'

注意:不要使用 mysql_query,使用 PDOmysqli相反。

注意2:尽量避免使用SELECT *。始终指定您要使用的字段。

关于php - 使用php使用mysql中两个表中的相同列从2个表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149213/

相关文章:

php - 使用 Php 将数据插入 mysql 数据库时。我收到错误消息“整数值不正确 : '' for column 'rate' at row 1”

javascript - 使用 Javascript 和 Ajax 从 php 文件获取数据

php - 以 DDD 方式与实体相关的外部第三方 API

php - 数据库设计麻烦。每个用户的表

mysql - 无法在数据库中创建表

sql - 计算列和 Microsoft.FSharp.Data.TypeProviders.SqlDataConnection

php - SQL 查询只检索一行

MySQL JOIN 2 依赖于第一个子查询的子查询

sql - 是否可以使用 SQL 查询来查明 Mirth channel 是否被禁用?

sql - 需要帮助从 SQL 查询中创建一个函数