Saibotiwe
@Saibotiwe
Начинающий новичек

Как можно вывести строки из MySQL на веб-страницу?

Есть таблица.
2e78f648e9c6415ea8ccf7ba1eb6de7a.png
Подключение к БД и запрос я написал так
$db_host = 'localhost';
$db_name = 'base';
$db_username = 'admin';
$db_password = 'admin';
$db_table_to_show = 'pages';
$connect_to_db = mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name, $connect_to_db);
$qr_result = mysql_query("SELECT page_id,title,text FROM " . $db_table_to_show);
while($data = mysql_fetch_array($qr_result))
{
   $title = $data['title'];
   $text = $data['text'];
}

Как вывести строки из этой таблицы на страницу?
<div>
  <h1><? echo $title; ?></h1> <!-- здесь должно вывести title1
  <p><? echo $text; ?></p>  <!-- здесь должно вывести text1
</div>
<div>
  <h1><? echo $title; ?></h1><!-- здесь должно вывести title2
  <p><? echo $text; ?></p><!-- здесь должно вывести text2
</div>


Но везде выводит последнюю строку БД.
df53f27a654145f3833bea76175bf458.png

Товарищи, как правильно сделать?
  • Вопрос задан
  • 3424 просмотра
Решения вопроса 2
Satanpit
@Satanpit
Front-end developer
Вы хоть понимаете что делаете? У Вас в переменных будет последнее значение выборки.

Вам либо надо делать echo сразу в while:
while($data = mysql_fetch_array($qr_result)){
echo '<div>
  <h1>' . $data['title'] . '</h1>
  <p>' . $data['text'] . '</p>
</div>';
}


либо в шаблоне.
Ответ написан
FFxSquall
@FFxSquall
Могу писать код, могу не писать
<?php while ($data = mysql_fetch_array($qr_result)):?>
<div>
  <h1><?=$data['title'];?></h1>
  <p><?=$data['text'];?></p>
</div>
<?php endwhile; ?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вставить вывод внутрь while
while($data = mysql_fetch_array($qr_result))
   echo "<div><h1>", $data['title'],"</h1><p>",$data['text'],"</p></div>";

И не используйте функции mysql_*, они уже год как в статусе deprecated, переходите на mysqli_* или PDO.
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
здесь должно вывести title1

здесь должно вывести title2

Почему, если в обоих случаях вы выводите одну и ту же переменную?

Хотя в рамках ненормального программирования, можно сделать, чтобы это работало, но лучше возьмите любой учебник, начиная с мануала.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы