Задать вопрос
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону

Как реализовать кнопку «показать еще»?

Пишу простенький чат. В поле с сообщениями выводится 10 последних сообщений. Нужна кнопка которая будет добавлять еще десять сообщений.

За вывод сообщений отвечает такой код:
<?php 
$ms = mysqli_query($connection, "SELECT * FROM `chat` ORDER BY `id` DESC LIMIT 10;");
while( $messages = mysqli_fetch_assoc($ms) ) { ?>

	<section title="<?php echo 'message_id='.$messages['id'] ?>" style='font-family:sans-serif;'>
		<?php echo 
		"<font color='brown'>"."<font title='".$messages['time']."'>[". mb_substr($messages['time'], 11, 5).']</font> '.$messages['nickname'].':</font> ';
		if( count(explode("\n", $messages['text'])) > 1 ) { $pre=true;echo '<pre style="font-size:20pt;">'; }
		echo $messages['text'];
		if( $pre==true ) { echo '</pre>'; }
		?>
		<hr>
	</section>


Я новичек в создании сайтов, можно, пожалуйста, код, который я просто скопирую, заменю то, что надо, и это будет работать?
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 1
Starina_js
@Starina_js
full-stack web dev
Если вы хотите, чтобы по клику на кнопку появлялись еще сообщения из базы, то тут такой путь
  1. Верстаете кнопку, вешаете на нее событие клика на js
  2. При срабатывании события делаете fetch/ajax запрос на обработчик, передаете параметры последнего сообщения (id последнего сообщения) и в sql ... LIMIT $start, 10 (или limit + offset)
  3. Обработчик получает запрос с параметрами, проверяет, делает запрос в базу с параметрами, отдает ответ обратно на фронт с новыми данными
  4. На фронт прилетают данные, вставляете в нужное место в dom

Загуглите примеры: php js sql load more results
Пример готового решения
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы