Я хочу проверить, есть ли больше или равны одной строке в базе данных с полем «publish» = publish, а затем показать все сообщения (строки), где «publish» = publish. Для этого я попытался начать с оператора if - если число строк больше или равно одному, чем выполняется во время выполнения инструкции. Но это ограничивает оператор while отображать только одно сообщение.Могу ли я запустить оператор while в выражении if в php?
$query = "SELECT * FROM posts WHERE publish='publish' ORDER BY data_id DESC";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$row_cnt = mysqli_num_rows($result);
if ($row_cnt >= 1) {
while($row = mysqli_fetch_array($result)){
echo '<h3>'. $row['title'] .'</h3>
<br><br>
<p>' . $row['post'] . '</p>;
}
} else {
echo '<h4>Sorry, no posts to display.</h4></div>';
}
Конечно, вы можете. Жесткий у вас синтаксический ужас, см. '
'. $ row ['post']. '
; 'missing' '' в конце, чтобы закрыть эхо. – QirelПомимо опечатки все должно работать нормально. Вы пробовали свой код? (FYI: вы уже выбрали первую строку перед циклом while) – Rizier123
Это было потому, что я взял строку перед циклом while. Спасибо Rizier123. Я исправлю ошибки опечатки. –