【发布时间】:2015-08-16 03:06:12
【问题描述】:
我有一个 while 循环,它应该首先使用从另一个函数获得的 job_id 从名为 submitresume 的表中获取 individual_id。然后它将在另一个 while 循环中使用该 id 从单个表中获取 first_name 和 last_name。然后它将使用另一个 while 循环从提交的简历表中获取 submitted_id。
我拆分第一个和最后一个 while 循环以从输出中获取不同的值。
我的第一个 while 循环。它首先使用从另一个函数获得的 job_id 从名为 submitresume 的表中获取individual_id。它为我提供了两个用户 ID 的正确输出:9 和 4。
global $database;
$query = "SELECT DISTINCT individual_id FROM submittedresume WHERE job_post_id='$id'";
$output = $database->query($query);
while ($row = mysqli_fetch_array($output)) {
$indvId = $row[0];
}
这是第二个内部 while 循环。它给了我玛丽珍(不重复)和汤姆索亚的输出。
$indvId = $row[0];
$sql = "SELECT * FROM individual WHERE individual_id='$indvId'";
$result = $database->query($sql);
while ($details = mysqli_fetch_array($result)) {
$first = $details['first_name'];
$last = $details['last_name'];
echo $first;
echo $last;
}
这是我的全部功能:
public function displayApplications($id){
global $database;
$query = "SELECT DISTINCT individual_id FROM submittedresume WHERE job_post_id='$id'";
$output = $database->query($query);
while ($row = mysqli_fetch_array($output)) {
$indvId = $row[0];
$sql = "SELECT * FROM individual WHERE individual_id='$indvId'";
$result = $database->query($sql);
while ($details = mysqli_fetch_array($result)) {
$first = $details['first_name'];
$last = $details['last_name'];
$sqlquery = "SELECT DISTINCT resume_title FROM submittedresume WHERE individual_id='$indvId' order by submitted_id";
$data = $database->query($sqlquery);
if (mysqli_num_rows($data) == 0) {
echo "Database is empty <br>";
} else {
while (($name = mysqli_fetch_array($data))) {
echo $first . " " . $last . " "."<a href=handleDownload.php?id=$id>$name[0]</a><br>";
}
}
}
}
}
这就是我现在得到的:
first_name | last_name | resume_name
Mary | Jane | resume_1
Mary | Jane | resume_2
这就是我要找的:
first_name | last_name | resume_name
Mary | Jane | resume_2
Tom | Sawyer | resume_1
【问题讨论】:
-
您需要重写查询并改用
JOIN
标签: php mysqli while-loop