Как вывести данные из определенной таблицы базы данных в виде списка со ссылками?

Я работаю над своей собственной простой системой управления контентом, чтобы внедрить ее в свои проекты для клиентов, которые хотят самостоятельно заниматься обслуживанием.

Я собираюсь содержать только заголовки страниц и их содержимое в таблице базы данных. Все, что я хочу, это составить список, который берет все заголовки страниц и помещает их в <ul>. Я считаю, что мне следует использовать foreach, но я не слишком хорошо разбираюсь в PHP, поэтому буду признателен за помощь.

Итак, как я могу это сделать?


person Purag    schedule 31.07.2011    source источник
comment
Это довольно широкий вопрос. У вас настроена база данных? Знаете ли вы, как получить содержимое таблицы БД?   -  person Flambino    schedule 31.07.2011
comment
@Flambino: в настоящее время у меня нет настроенной базы данных, но я знаю, как это сделать. Я также знаю, как получить содержимое базы данных с помощью SELECT.   -  person Purag    schedule 31.07.2011
comment
В этом случае что-то вроде ответа Quasdunk ниже должно работать нормально. Я опубликовал альтернативу, которая предполагает, что вы уже извлекли строки и вместо этого используете foreach, но решение Quasdunk делает то же самое, только более компактно.   -  person Flambino    schedule 31.07.2011


Ответы (2)


<?php
  $qry = mysql_query("SELECT * FROM links");
?>
<ul>
<?php while($row = mysql_fetch_array($qry)) { ?>
  <li><a href="<?php echo $row['link_url']; ?>"><?php echo $row['link_title']; ?></a></li>
<?php } ?>
</ul>

... если в вашей таблице со ссылками есть столбцы "link_url" и "link_title". Но вы поняли, я думаю.

person Quasdunk    schedule 31.07.2011

Если вы получили массив со строками таблицы, вы, вероятно, можете сделать что-то вроде этого:

Версия PHP-in-HTML:

<ul>
    <?php foreach( $pages as $page ): ?>
        <li><a href="<?=$page['url']?>"><?=$page['title']?></a></li>
    <?php endforeach ?>
</ul>

Версия HTML-in-PHP:

echo "<ul>";
foreach( $pages as $page ) {
    echo "<li><a href=\"$page['url']\">$page['title']</a></li>";
}
echo "</ul>";

В обеих версиях $pages — это массив, содержащий все строки из таблицы.

Может быть, вы можете адаптировать это к вашим потребностям?

person Flambino    schedule 31.07.2011
comment
Это именно то, что я ищу. Спасибо! - person Purag; 31.07.2011