<?php foreach ($posts as $post) : ?>
<strong>Обязанности:</strong>
<Ul>
<li><?= $post['Obyazannosti'] ?></li>
</Ul>
<strong>Требования:</strong>
<ul>
<li><?= $post['Requirements'] ?></li>
</ul>
<strong>Условия:</strong>
<ul>
<li><?= $post['Usloviya'] ?></li>
</ul>
<?php endforeach; ?>
в базе mysql поле Usloviya просто текст (это одно поле):
текст;
текст;
текст;
текст;
текст;
текст;
как сделать, чтобы при выводе из поля Usloviya каждая строка оборачивалась в li?
Разделите строку на массив строк с помощью explode() и пройдитесь по этому массиву с помощью foreach():
<?php foreach ($posts as $post) : ?>
<strong>Обязанности:</strong>
<Ul>
<li><?= $post['Obyazannosti'] ?></li>
</Ul>
<strong>Требования:</strong>
<ul>
<li><?= $post['Requirements'] ?></li>
</ul>
<strong>Условия:</strong>
<ul>
foreach (explode(';',$post['Usloviya']) as $Uslovie) {
echo '<li>'.$Uslovie.'</li>';
}
</ul>
<?php endforeach; ?>
Замените ; на \n в foreach() чтобы строка "оборачивалась" только при переносе строки.
Оффтоп:
Имена переменных транслитом считаются признаком плохого тона. Правильнее будет использовать английский язык для имён переменных. Но это конечно, на Ваше усмотрение.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей