Php 从表1中选择所有记录,然后从表2中选择与表1主键匹配的所有记录
我有两张桌子 具有主键c_id的第一个表。 第二个表有自己的主键和外键c_id(表2可以有多个与表1相关的条目) 我正在尝试查询第一个表中的所有记录,但也要查找第二个表中与主键匹配的所有记录,并将其中一列回送到查询中的一列 这是我的密码 注意:我是新加入表的,所以下面的代码只是回显表1中的记录Php 从表1中选择所有记录,然后从表2中选择与表1主键匹配的所有记录,php,mysql,Php,Mysql,我有两张桌子 具有主键c_id的第一个表。 第二个表有自己的主键和外键c_id(表2可以有多个与表1相关的条目) 我正在尝试查询第一个表中的所有记录,但也要查找第二个表中与主键匹配的所有记录,并将其中一列回送到查询中的一列 这是我的密码 注意:我是新加入表的,所以下面的代码只是回显表1中的记录 <?php include_once('connected.php'); if ($conn->connect_error) { die("Connection failed: "
<?php
include_once('connected.php');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM files ORDER BY c_id Desc";
if ($result=mysqli_query($conn,$sql))
{
// Return the number of rows in result set
$rowcount=mysqli_num_rows($result);
printf("Total = %d \n",$rowcount);
// Free result set
mysqli_free_result($result);
}
$result = $conn->query($sql);
if ($result->num_rows > 0) {
//output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr>
<td> <b>". $row["c_no"]." </b>
<td> <b>". $row["c_applicants"]. " </b> //this rows should echo all records from 2nd table
<td> <b>". $row["c_details"]. " </b>
<td> <b>". $row["c_for"]. " </b>
<td> <b>". $row["c_person"]. " </b>
<td> <b>". $row["c_country"]. "</b>
<td> <b>". $row["c_rdate"]. " </b>
<td> <b>". $row["c_galdate"]. "</b>
<td> "."<a href=viewfile.php?id=". $row['c_id'] .">Expand</a>". "<br>";
}
} else {
echo " results";
}
$conn->close();
?>
您应该能够从表1->表2编写联接查询 这里是一个很好的资源 作为一个起点,这里有一个查询,您可能需要对其进行调整,但要将其放在正确的方向上
select columns, you, actually, want from table1 as t1
join table2 as t2
on t1.id = t2.other_id
order by t1.id desc
$sql=“select*from files inner join files上的申请人。c_id=申请人。c_id”;我可以加入,但我希望申请者的所有记录都能回显到该行的一个冒号上。(连接或某种形式)一个文件将有多个申请者,因此我只想在这一行的列上显示所有申请者的姓名。我希望我有道理。谢谢你的帮助,我将继续阅读你发送的链接。我想你说的是“一对多”的加入。看看这个问题