【问题标题】:(PHP) IF-ELSE two conditions at once(PHP) IF-ELSE 同时出现两个条件
【发布时间】:2016-05-30 21:04:10
【问题描述】:

我是 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>

这是我目前的结果

这是我在数据库中的数据

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

我的预期结果,表格应该打印 App_Data_ID 00001,00002,00012,00013,00014 等等。只有 App_Data_ID 和 Position_ID 与上一个完全相同时,不应打印。

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

【问题讨论】:

    标签: php mysql if-statement


    【解决方案1】:

    做一件事。
    将 SQL 从 SELECT * FROM applicant_skill 更改为 SELECT * FROM applicant_skill where App_Data_ID&lt;&gt;Position_ID。这样,您无需检查是否为其他。它只会显示 App_Data_ID 和 Position_ID 不相同的那些数据。
    我想这会解决你的问题。

    【讨论】:

    • sorry "当只有 App_Data_ID 和 Position_ID 完全相同时,它不应该打印" 这部分我掉了一些东西,修改后的 -> "当只有 App_Data_ID 和 Position_ID 完全相同时,它不应该打印最后一个。”
    • 比如第一个有App_Data_ID = 00001,Position_ID = 00001,下一个也有同样的东西,就不会打印了。但是如果第一个的 App_Data_ID = 00001, Position_ID = 00001 并且下一个的 App_Data_ID = 00002, Position_ID = 00001 它将被打印出来。
    • 我得到了解决方案,只需将“&&”更改为“||”。感谢您分享您的答案!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多