Показывать текст, только если строки в базе данных MySQL равны 1

#php #mysql

#php #mysql

Вопрос:

Как бы мне заставить некоторый текст отображаться, только если определенные строки равны 1. У меня есть таблица, и в ней есть поля, помеченные ‘SEC1’, ‘SEC2’ и ‘SEC3’. Я могу заставить его отображать текст только для одной, равной единице, но я хочу, чтобы что-то было, если поля выше должны быть равны единице, чтобы текст отображался.

Приветствуется любая помощь

Это то, что я использую, чтобы заставить его работать для one:

 $Completed = ($row["SEC1"] == 1) ? "Completed!" : $row[""]; echo $Completed;
  

Возможно ли изменить это, чтобы заставить его работать? Я был бы не против, если бы их сложили вместе, чтобы они были равны 3 вместо единицы.

Комментарии:

1. Вы пропустили раздел «Операторы» в своем руководстве?

Ответ №1:

Если вы имеете в виду, что любое из трех полей независимо равно «1», то это сделает это :

 if (($row["SEC1"] == 1)||($row["SEC2"] == 1)||($row["SEC3"] == 1)){
//Do what you what
}
  

Или если вы имеете в виду, что все три из них вместе взятые равны «3», тогда :

 if (($row["SEC1"]   $row["SEC2"]   $row["SEC3"]) == 3){
//Do what you what
}
  

Комментарии:

1. Спасибо! Я ученик средней школы и все еще пытаюсь всему этому научиться.

Ответ №2:

Зачем использовать тернарный оператор? Используйте оператор ‘and’ для построения более сложных условных выражений:

 $Completed = "";

if (($row["SEC1"] == 1) amp;amp; ($row["SEC2"] == 1) amp;amp; ($row["SEC3"] == 1)) {
    $Completed = "Completed!";
} 

echo $Completed;
  

Есть много разных способов, которыми вы могли бы решить эту проблему

 if ($row["SEC1"]   $row["SEC2"]   $row["SEC3"] == 3){
...
}