(PHP)IF-ELSE同时有两个条件

时间:2016-05-30 11:47:49

标签: php mysql if-statement

我是PHP的新手,现在我在IF-ELSE条件下遇到了一些问题

到目前为止,这些是我的代码。

<?php
include('DBconnect.php');
mysql_query("USE onlinerecruitment");

$app_id_check = "";
$app_pos_check = "";

$result = mysql_query("SELECT * FROM applicant_skill ");

?>

<table style="width:100%">
<tr>

<th>Applicant's Name</th>
<th>Last Name</th>
<th>Position Selected</th>
<th></th>
<th></th>

</tr>

<?php
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){

$check_app_id = $row['App_Data_ID'];
$check_pos_id = $row['Position_ID'];

if($app_id_check != $check_app_id  && $app_pos_check != $check_pos_id){

            $skill_id = $row['Skill_ID'];
            $app_id = $row['App_Data_ID'];

            $result01 =mysql_query("SELECT * FROM required_skills WHERE Skill_ID = '".$skill_id."' ");
            $row01 = mysql_fetch_array($result01, MYSQL_ASSOC);

            $skill_name = $row01['Skill_Name'];
            $pos_id = $row01['Position_ID'];

            $result02 = mysql_query("SELECT * FROM position WHERE Position_ID = '".$pos_id."' ");
            $row02 = mysql_fetch_array($result02, MYSQL_ASSOC);


            $result1 = mysql_query("SELECT * FROM application_data_file WHERE App_Data_ID = '".$app_id."' ");
            $row1 = mysql_fetch_array($result1, MYSQL_ASSOC);

            $app_mail = $row1['App_Email'];

            $result2 = mysql_query("SELECT * FROM applicant_acct WHERE App_Email = '".$app_mail."' ");
            $row2 = mysql_fetch_array($result2, MYSQL_ASSOC);



        echo "<TR>";

        echo "<TD>".$row2['App_Name']."</TD>";
        echo "<TD>".$row2['App_LName']."</TD>";
        echo "<TD>".$row02['Position_Name']."</TD>";
        echo "<TD><a href='edit-testing-score-form.php?app_id=".$row['App_Data_ID']."&pos_id=".$row['Position_ID']."'>Edit Testing Score</a></TD>";
        echo "<TD><a onclick='javascript:confirmationDelete($(this));return false;' href='delete-testing-score.php?app_id=".$row['App_Data_ID']."&pos_id=".$row['Position_ID']."'>Delete</a></TD>";


        echo "</TR>";

        $app_id_check = $app_id;
        $app_pos_check = $pos_id;

    }

}

?>
</table>

这是我到目前为止的结果

enter image description here

这是我在数据库中的数据

enter image description here

根据我的数据库图像,结果不应该像第一个表中那样在表中有2行。它现在只打印出App_Data_ID 00001和00012,因为它们是第一个没有相同Position_ID的人。

我的预期结果,该表应打印App_Data_ID 00001,00002,00012,00013,00014,依此类推。当只有App_Data_ID和Position_ID与最后一个完全相同时,它不应该打印。

我认为我在IF-ELSE条件下的逻辑是错误的,但我不知道为什么,请帮忙。

1 个答案:

答案 0 :(得分:1)

做一件事。
将SQL从SELECT * FROM applicant_skill更改为SELECT * FROM applicant_skill where App_Data_ID<>Position_ID。通过这个你不需要检查是否。它只会显示那些App_Data_ID和Position_ID不相同的数据。
我会解决你的问题。