Удалить статью и потяните первую из следующей страницы
-
27-09-2019 - |
Вопрос
Я пытаюсь построить блог с системой страниц (EX. 5 Статьи на странице). Все в порядке с самой пагинацией, но рядом с каждой статьей я включал кнопку «Удалить», позволяющую администратору динамически удалять (jQuery) связанную статью и его содержание. Теперь я хочу «добавить» (без обновления) первой статьи следующей страницы, когда я удаляю статью, вторую, когда я удаляю другую статью, то третий и так далее. Я хочу, чтобы это не было, чтобы иметь пустую страницу, если я продолжу на удалении статей без обновления.
Я на самом деле использую PHP и базу данных MySQL для хранения данных для Paginating, я использую что-то подобноесвязь.
Решение
Я изначально ответил на дубликат, но думаю, что может быть удалено, поэтому копирование здесь:
jquery делает это красивым и легким. Это предполагает, что у вас есть файл PHP, называемый ajax / delete-aptry.php, который принимает идентификатор статьи для удаления в качестве параметра, и идентификатор статьи последней статьи на странице в качестве параметра и возвращает HTML Следующая статья. Он также предполагает, что все ваши статьи имеют класс «статьи», а идентификатор «Статья-230», где 230 является идентификационным номером. Я уверен, что вы можете адаптировать его к вашей собственной HTML-структуре.
$('.article-delete').click(function (event) {
$(this).closest('.article').remove(); // possibly use a more fancy-looking hide(), and remove on complete?
var lastArticleId = $('.article').last().attr('id').replace('article-','');
var thisArticleId = $(this).attr('id').replace('article-','');
$.get('ajax/next-article.php?last-article=' + lastArticleId + '&article-to-delete=' + thisArticleId ,function (data) {
$('#article-list').append(data);
});
event.preventDefault();
});
Обратите внимание, что это просто грубый пример. Потребует некоторых улучшений для надежности. Это также непроверено, поэтому он может добавить ошибки JS повсюду.
Другие советы
в основном, когда вы успешно удаляете статью, в том же запросе (не делайте другой, не нужен), вы также получаете (если есть) следующую статью после последнего на странице (по идентификатору, дату публикации или другой) и верните HTML-код для добавления
Чтобы быть понятным: если мы полагаем, вы ищете статьи 16,17,18,19,20 Вы знаете, что последний элемент на странице 20. Если вы удалите статью 17, вы извлекаете Element 21, добавьте на страницу и установите это значение 21 как последнее значение на странице (и так далее)