У меня есть следующий HTML-код. главная цель - скрыть div, когда переменная из части php установлена в "s2". Я использую этот код:
<?php if(isset($Status) && $Status =="S0" OR $Status =="S2"):?>
<?php if(isset($Status) && $Status=="S0"): ?>
<div>
<label for="x1">x1</label>
<select name="x1" id="x1">
<option value="<?php echo $x1;?>"></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
<?php endif; ?>
some more divs
<?php endif; ?>
вещь о курии - это когда я меняюсь:
<?php if(isset($Status) && $Status=="S0"): ?>
<div>
<label for="x1">x1</label>
<select name="x1" id="x1">
<option value="<?php echo $x1;?>"></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
<?php endif; ?>
до:
<div>
<label for="x1">x1</label>
<select style="display:<?php echo ($Status == "S2" ? 'none' : 'inline'); ?>;" name="x1" id="x1">
<option value="<?php echo $x1;?>"></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
все работает. Феномен состоит в том, что когда я отправляю форму, я получаю сообщение об ошибке, что нет записей, даже если он заполнен эхо php из БД при использовании первого кода. с помощью последнего кода означает, что все работает и сообщения об ошибках, например, будут отображаться. так что это немного странно для меня. Различные типы статуса будут установлены в БД, так что это не проблема. запрос, который я также проверял. я также пытался показать div, которые мне нравятся, когда задан S0:
<?php if(isset($Status) && $Status =="S0"):?>
и элементы div, которые просто должны быть видны при задании s2:
<?php if(isset($Status) && $Status =="S2"):?>
есть кто-нибудь, кто может сказать мне, что я делаю не так? Большое спасибо.
UPDATE:
хорошо, прежде всего спасибо за ответ на мой вопрос.
я добавил скобки и изменил && на "и".
Кажется, проблема в значении этой строки:
<option value="<?php echo $x1;?>"></option>
по моему мнению, даже если пользователь не видит первый элемент из-за:
...?>">NOTHING IN HERE</option>
значение для "НИЧЕГО ЗДЕСЬ" должно быть эхом БД. так, что должно представить значение эха или я не прав?
сообщение об ошибке, которое возникает и почему ничего не будет отправлено, говорит о том, что поле пустое. но с моей точки зрения это не так!!
просто чтобы указать, почему я не хочу отображать первую запись:
Мне не нравится, когда пользователь видит выпадающий список, и там будет двойной пост вроде:
раскрывающийся список при нажатии:
1 ->because this echoes the entry of the db.
1 ->first option
2 ->second option