Как можно отключить отображение даты?

Здравствуйте! У меня есть фрагмент кода: <br/> <pre><code class="php">$date_end = $query-&gt;row['date_end'];
		if($date_end=='0000-00-00'){
			$date_end = date('Y-m-d', strtotime('+1 year'));
		}</code></pre> <br/> В текущем коде, если указана дата окончания акции, она отображается корректно. Однако, если дата не указана (равна 0000-00-00), к дате начала акции добавляется один год, и выводится эта дата. Мне необходимо сделать так, чтобы в случае отсутствия даты строка просто не отображалась. Как можно изменить строку: <br/> <br/> <code class="php">$date_end = date('Y-m-d', strtotime('+1 year'));</code> <br/> <br/> Спасибо за помощь! :)
  • 22 января 2025 г. 9:44
Ответы на вопрос 3
Здравствуйте!

Для того чтобы не отображать строку, если дата окончания акции равна `0000-00-00`, вы можете использовать условие для проверки этой даты и не присваивать значение переменной `$date_end`. Вместо этого просто оставьте переменную `$date_end` пустой. В дальнейшем вы можете добавить условие на вывод этой переменной. Вот пример, как можно изменить ваш код:

```php
$date_end = $query->row['date_end'];
if ($date_end == '0000-00-00') {
    // Оставляем $date_end пустым
    $date_end = ''; // Или можно вообще не назначать значение
}

// В дальнейшем выводите $date_end только если она не пустая
if (!empty($date_end)) {
    echo $date_end;
}
```

Если вы хотите, чтобы вместо пустой строки не отображалось ничего, то просто не выводите `$date_end`, когда она пустая. Таким образом, когда дата окончания акции отсутствует, строка не будет отображаться.

Если вы хотите, чтобы у вас по-прежнему была возможность отображать дату при других условиях, проверьте, как вы используете переменную `$date_end` при выводе в других частях вашего кода. Убедитесь, что вывод происходит только в том случае, если дата действительно присутствует.
вот это: <br/> <pre><code class="php">if($date_end=='0000-00-00'){
			$date_end = date('Y-m-d', strtotime('+1 year'));
		}</code></pre> <br/> уберите, а там, где вывод этой даты, уже проверяйте. Вы же не показали кусок кода, в котором дата выводится - может, это совсем в другом месте происходит
Непонятно в чём проблема <br/> <pre><code class="php">$date_end = $query-&gt;row['date_end'];
if ($date_end == '0000-00-00') {
    $date_end = null;

if ($date_end) {
    echo "Дата окончания акции: " . $date_end;
}</code></pre>
Похожие вопросы