我有两张桌子
表personal_info
包含信息
+--------+--------+--------+--------+
| id | fname | lname | email |
+--------+--------+--------+--------+
| | | | |
+--------+--------+--------+--------+
表other_info
包含信息
+--------+-----------------+--------------+----------------+
| id | university_name | course_name | business_name |
+--------+-----------------+--------------+----------------+
| | | | |
+--------+-----------------+--------------+----------------+
现在我想用PHP加入表并从两个表中获取信息我决定做这样的事情
<?php
include ('config.php');
$con = mysqli_connect($host, $user, $pass, $db) or die ('Cannot Connect : '.mysqli_error());
$sql = "select * from personal_info, other_info "; // Here i want to join the two tables to echo results
$result = mysqli_query($con,$sql) or die("Error: ".mysqli_error($con));
while( $row = mysqli_fetch_array( $result, MYSQLI_ASSOC ) ){
echo "$row['fname'] ."".$row['lname'] ."".$row['university_name'] ."".$row['course_name'] ."".$row['businessname'] ";
}
?>
如何加入表格并获取数据?
答案 0 :(得分:1)
您需要先在other_info表中设置一个外键,这样就可以加入此键。
然后这样的选择应该起作用
select fname, lname, university_name, course_name, business_name
from personal_info t1
inner join other_info t2 on (t1.id = t2.personal_id)
t2.personal_id 是表other_info中的外键列
答案 1 :(得分:0)
<?php
include ('config.php');
$con = mysqli_connect($host, $user, $pass, $db) or die ('Cannot Connect : '.mysqli_error());
$sql = "SELECT personal_info.id,personal_info.fname,personal_info.lname,personal_info.email, other_info.university_name,other_info.course_name,other_info.business_name FROM personal_info FULL OUTER JOIN other_info ON personal_info.id=other_info.id;";
$result = mysqli_query($con,$sql) or die("Error: ".mysqli_error($con));
while( $row = mysqli_fetch_array( $result, MYSQLI_ASSOC ) ){
echo "$row['fname'] ."".$row['lname'] ."".$row['university_name'] ."".$row['course_name'] ."".$row['businessname'] ";
}
?>
答案 2 :(得分:0)
personal_info
和other_info
表之间没有关系。通过它,不可能知道与特定记录相关的其他信息。
所以,你可以做一件事。在personal_info_id
表中创建一列other_info
,该列将存储id
personal_info
表。
像:
<强>的personal_info 强>
id | fname | lname | email
1 UserFN UserLN user@email
2 User2FN User2LN user2@email
<强> other_info 强>
id | personal_info_id | university_name | course_name | business_name
1 1 UniV PHP ABC
2 2 UniVY C++ XYZ
现在,您可以使用personal_info_id
other_info
id
personal_info
SELECT pfo.*, ofo.*
FROM personal_info pfo, other_info ofo
WHERE pfo.id = ofo.personal_info_id;
更新代码
<?php
include ('config.php');
$con = mysqli_connect($host, $user, $pass, $db) or die ('Cannot Connect : '.mysqli_error());
$sql = "SELECT pfo.*, ofo.* FROM personal_info pfo, other_info ofo WHERE pfo.id = ofo.personal_info_id;";
$result = mysqli_query($con,$sql) or die("Error: ".mysqli_error($con));
while( $row = mysqli_fetch_array( $result, MYSQLI_ASSOC ) ){
echo $row['fname']." / ".$row['lname']." / ".$row['email']." / ".$row['university_name']." / ".$row['course_name']." / ".$row['business_name'];
}?>