Если значение в определенной ячейке равно «Определенный текст», эхо «Текст»

0

Я пытаюсь заставить это отображать предупреждающее сообщение, когда ячейка содержит определенный текст типа "0" или "Н/Д". Он работал бы, когда вначале не было введенного значения, но я не могу заставить его эхо, когда уже есть определенное значение. Любая помощь будет большой. Благодарю!

<?php
                $listing = "$_POST[listing]";

                $sql = "SELECT open_house_attended FROM property_flyers WHERE street_property = '$listing' ";
                $result = $conn->query($sql);

                if ($result->num_rows > 0) {
                    // output data of each row
                    while($row = $result->fetch_assoc()) {
                    echo "</span><span class='report_bignumber'><br>".  $row["open_house_attended"]."</span>";
                    }
                } else {
                    echo "<br> ". $noresults . "</span>";
                }

            ?>
  • 0
    Вам нужно поместить if () в цикл while (), чтобы проверить конкретное значение и повторить одно или другое.
Теги:
database
if-statement
value
row

2 ответа

1
Лучший ответ

Вы можете использовать небольшое регулярное выражение -

if ($result->num_rows > 0) {
   // output data of each row
   while($row = $result->fetch_assoc()) {
      preg_match(trim($row["open_house_attended"]), '/[0]|[N\/A]/', $matches); // try to match '0' or 'N/A'
      if(count($matches) == 0) { // do we have matches?
          echo "</span><span class='report_bignumber'><br>".  $row["open_house_attended"]."</span>";
      } else {
           echo "<br> ". $noresults . "</span>";
      }
   }
}
?>

Или вы можете пойти немного более прямо -

if ($result->num_rows > 0) {
   // output data of each row
   while($row = $result->fetch_assoc()) {
      $ohCount = $row["open_house_attended"];
      if(( $ohCount != '0') && ($ohCount != 'N/A')) { // do we have matches?
          echo "</span><span class='report_bignumber'><br>".  $ohCount ."</span>";
      } else {
           echo "<br> ". $noresults . "</span>";
      }
   }
}
?>

preg_match()

  • 0
    Не работал для меня <? php $ листинг = "$ _POST [листинг]"; $ sql = "SELECT open_house_attended FROM property_flyers WHERE street_property = '$ list'"; $ result = $ conn-> query ($ sql); if ($ result-> num_rows> 0) {// выводить данные каждой строки, а ($ row = $ result-> fetch_assoc ()) {$ ohCount = $ row ["open_house_attended"]; if (($ ohCount! = '0') && ($ ohCount! = 'N / A')) {// у нас есть совпадения? echo "</ span> <span class = 'report_bignumber'> <br>". $ ohCount. "</ span>"; } else {echo "<br>". $ noresults. "</ SPAN>"; }}?>
  • 0
    Пожалуйста, не добавляйте код в комментарии, их практически невозможно прочитать. Что вы имеете в виду под "не работает для меня"?
Показать ещё 2 комментария
0
$sql = "SELECT open_house_attended FROM property_flyers WHERE street_property = '$listing' AND open_house_attended NOT IN ('0', 'N/A')";

используйте NOT IN и список значений для отклонения. Это один из вариантов. Параметр preg match также работает, просто он просит php выполнить работу, и это требует sql для этого.

  • 0
    Это будет перечислять только записи, где что-то произошло, в то время как OP хотел бы набор, включая те, у которых нет данных. В этом случае OP покажет пользователю $noresults .
  • 0
    Хорошо, что в этом случае проверка в php - это путь. до проголосовал ваш ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню