我在数据库中有 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,使用 PDO或mysqli相反。
注意2:尽量避免使用SELECT *。始终指定您要使用的字段。
关于php - 使用php使用mysql中两个表中的相同列从2个表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149213/