несколько, если условие php - PullRequest
0 голосов
/ 31 августа 2018

Я новичок в PHP, и я делаю эту страницу, и я хочу отобразить записи из базы данных, если в записях есть какое-либо значение. Я использую If condition, но он не работает. Вот мой код:

 $active_proof=FALSE;
 while ($row_proof = mysqli_fetch_assoc($res_proof)){

if ($row_proof['proof_cat'] == "Proof of Address"  && $row_proof['proof_cat'] == "Proof of Identity"  ){

           echo '<tr>

                <td>'.$row_proof['proof_cat'].'</td>
                <td>'.$row_proof['proof_doc'].'</td>

            </tr>';
            $active_proof = TRUE;
        }else{
        $active_proof  = FALSE;
    }

    }

Помогите, ребята!

Ответы [ 4 ]

0 голосов
/ 31 августа 2018

Если я не неверно истолковал ваш код , тогда вам понадобятся $row_proof['proof_cat'] и $row_proof['proof_doc'], а не два $row_proof['proof_cat'], чтобы проверить " Подтверждение адреса " и " Доказательство идентичности"одновременно, потому что это невозможно. Так что я думаю, что вы сделали здесь опечатку , поэтому она не работает для вас.

Но если вы просто хотите проверить , любое значение равно из $row_proof['proof_cat'], тогда используйте in_array () вместо этого, как показано ниже

Если вы хотите проверить любой из равных

if (in_array($row_proof['proof_cat'], ["Proof of Address", "Proof of Identity"])) {
 //your code will goes here
}

Если это опечатка : почему я понимаю это как опечатка ?

Ваш этот кодовый блок говорит мне, чтобы я думал, что это опечатка.

'$ row_proof [ 'proof_cat'].'

'$ row_proof [ 'proof_doc'].'

 $active_proof=FALSE;
 while ($row_proof = mysqli_fetch_assoc($res_proof)){

if ($row_proof['proof_cat'] == "Proof of Address"  && $row_proof['proof_doc'] == "Proof of Identity"  ){

           echo '<tr>

                <td>'.$row_proof['proof_cat'].'</td>
                <td>'.$row_proof['proof_doc'].'</td>

            </tr>';
            $active_proof = TRUE;
        }else{
        $active_proof  = FALSE;
    }

    }

I

0 голосов
/ 31 августа 2018

Этот кусок кода никогда не станет правдой

if ($row_proof['proof_cat'] == "Proof of Address"  && $row_proof['proof_cat'] == "Proof of Identity"  ){

как один столбец «proof_cat» не может содержать 2 значения. Если вы имели в виду ИЛИ, тогда оно станет

if ($row_proof['proof_cat'] == "Proof of Address"  || $row_proof['proof_cat'] == "Proof of Identity"  ){
0 голосов
/ 31 августа 2018

Строка не может быть равна 2 различным значениям, я предполагаю, что вы хотите логический оператор ИЛИ (||) вместо И (&&).

Чистый способ сделать это, особенно с более чем двумя значениями, - использовать in_array:

if (in_array($row_proof['proof_cat'], ["Proof of Address", "Proof of Identity"])) {
0 голосов
/ 31 августа 2018

Вы уверены, что проверили оба значения для proof_cat? Или для proof_cat и proof_doc ?? Я думаю, что это должно быть ...

$active_proof=FALSE;
 while ($row_proof = mysqli_fetch_assoc($res_proof)){

if (($row_proof['proof_cat'] == "Proof of Address")  && ($row_proof['proof_doc'] == "Proof of Identity"  )){

       echo '<tr>

            <td>'.$row_proof['proof_cat'].'</td>
            <td>'.$row_proof['proof_doc'].'</td>

        </tr>';
        $active_proof = TRUE;
    }else{
    $active_proof  = FALSE;
    }

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...