ここでIf-Else条件の問題があります。以下のコードのように、(PHP)Elseが条件内のデータを適切に取得しない場合
if($status == 'New'){
$resultx0 = mysql_query("SELECT * FROM application_data_file WHERE Position_ID = '".$pos_id."' && Application_Status = 'New' OR 'Received' OR 'Checking' ");
}
elseif ($status == 'Not qualified'){
$resultx0 = mysql_query("SELECT * FROM application_data_file WHERE Position_ID = '".$pos_id."' && Application_Status = 'Failed' OR 'Not qualified' ");
}
elseif ($status == 'No Condition'){
$resultx0 = mysql_query("SELECT * FROM application_data_file WHERE Position_ID = '".$pos_id."' ");
}
「新規」および「不適格」の条件は、「application_data_file」テーブルの最初のもののみに適用されます。 "New"条件は "New"のみを取得しますが、条件に入力すると "Received"または "Checking"を取得せず、 "Not qualified"条件は "Not qualified"なしで "Failed"のみを取得します。
私はこれについて考えていません。条件に間違いはありますか?
乾杯。
私は問題がif-elseであるとは思わない。あなたの問題は、SQL SELECT文のWHERE句だと思います。 "OR" Received "は" OR 0 "と評価され、これは" OR FALSE "と等価です。 \ 'application_status \'列は単一の値 'New'と比較されています。残りのステートメント '' OR 'Received' OR 'Checking'はMySQLによって破棄されるでしょう。これは 'OR FALSE OR FALSE'と同等ですので、 – spencer7593