gpt4 book ai didi

php - (PHP, MYSQL) 如何检查不同数据库表的条件?

转载 作者:行者123 更新时间:2023-11-29 11:30:29 25 4
gpt4 key购买 nike

我是 PHP 新手,现在在从数据库查询数据的逻辑方面遇到一些问题。

首先,如果我有 2 个数据库,即应用程序文件和位置文件。

应用程序文件包括

  1. Application_ID、2.Applicant_ID、3.Position_ID

和位置文件包括

1.职位 ID、2.职位名称、3.部门名称

让我展示一下未完成的代码...

链接(我复制 HTML 提供的字段中的所有内容)-> https://jsfiddle.net/2e50wvzq/

我想重点关注...

$result4 = mysql_query("SELECT * FROM position"); 
while ($rows4 = mysql_fetch_array($result4, MYSQL_ASSOC)){

$pos_dept = $rows4['Position_Department'];

$result5 = mysql_query("SELECT * FROM position WHERE Position_Department = '".$pos_dept."' ");

while($rows5 = mysql_fetch_array($result5, MYSQL_ASSOC)){

$pos_id = $rows5['Position_ID'];

}

for($i = 0; $i < $counter; $i++){
if($dept_array[$i] == $pos_dept){

}else{

$result6 = mysql_query("SELECT App_Data_ID FROM application_data_file WHERE Position_ID = '".$pos_id."' ");


$pos_app = 0;


while ($rows6= mysql_fetch_array($result6, MYSQL_ASSOC)){

$pos_a = $rows6['App_Data_ID'];

$pos_app++;

}

array_push($dept_array," '".$pos_dept."' ");


?>
<TR>

<TD> <?php echo $rows4['Position_Department']; ?> </TD>
<TD> <?php echo $rows4['Recruitment_Seat']; ?> </TD>

<TD> <?php echo $pos_app; ?> </TD>
<TD> <?php echo $recruited; ?> </TD>
<TD> <?php echo $Vacancy; ?> </TD>



</TR>

<?php
}
}
}
?>

假设数据库中的数据状态为...

申请文件

  1. 00001, 00001, 00001

  2. 00002、00003、00001

  3. 00003、00002、00002

  4. 00004、00004、00001

  5. 00005、00006、00002

和位置文件

  1. 00001,IT 部程序员

  2. 00002,会计系会计师

按照我的代码,表格中的结果应该如下图所示(重点关注第一个表格中的“申请人总数”选项卡)

-> enter image description here

从我到目前为止的想法来看,如果我使用上面发布的代码,结果将类似于表 2(或者可能类似)。

我怎样才能提供像表1这样的结果?请帮忙。

最佳答案

只需仔细检查查询中的名称,但代码总体有效(因为我测试了它):

$sql = 'SELECT Department_Name, COUNT(*) AS Total FROM `application_file` LEFT JOIN `position_file` ON (application_file.Position_ID = position_file.Position_ID) GROUP BY Department_Name ORDER BY application_file.Position_ID ';
$result = $db->query($sql);
$total = 0;

if ($result->num_rows > 0)
{
echo '<table class="table">';
echo '<tr><td>Department</td><td>Total Recruitments</td><td>Total Applicant</td><td>Making Contract</td><td>Slot left</td></tr>';

while($row = $result->fetch_assoc())
{
echo '<tr><td>'.$row['Department_Name'].'</td><td>x</td><td>'.$row['Total'].'</td><td>x</td><td>x</td></tr>';
$total += $row['Total'];
}

echo '<tr><td>Total</td><td>x</td><td>'.$total.'</td><td>x</td><td>x</td></tr>';
}
else
echo '0 results';

关于php - (PHP, MYSQL) 如何检查不同数据库表的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37506471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com