Eliminare un articolo e di tiro nel primo da pagina seguente
-
27-09-2019 - |
Domanda
Sto cercando di costruire un blog con un sistema di impaginazione (es. 5 articoli per pagina). Tutto va bene con l'impaginazione stessa, ma accanto ad ogni articolo ho incluso un tasto "delete" che permette all'amministratore di rimuovere in modo dinamico (jquery) l'articolo correlato e il suo contenuto. Quello che voglio ora è quello di "append" (senza rinfrescante) il primo articolo della pagina successiva quando elimino un articolo, il secondo quando elimino un altro articolo, poi il terzo e così via. Voglio che questo per evitare di avere una pagina vuota se continuo a cancellazione di articoli senza aggiornare.
In realtà sto usando PHP e un database MySQL per memorizzare i dati per impaginare sto usando qualcosa di simile a questo link .
Soluzione
Originariamente ho risposto sul duplicato, ma penso che potrebbe ottenere eliminati, in modo da copiare qui:
jQuery rende piacevole e facile. Questo presuppone che hai un file php chiamato Ajax / delete-Article.php che prende un articolo id da eliminare come parametro, e l'articolo id dell'ultimo articolo sulla prima pagina come parametro, e restituisce il codice HTML del prossimo articolo. Si assume anche tutti i tuoi articoli hanno la classe di "articolo", e l'id "articolo-230", dove 230 è il numero ID. Sono sicuro che si può adattare al proprio struttura 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();
});
Si noti che questo è solo un esempio di massima. Richiederà alcuni miglioramenti per la robustezza. E 'anche testato, quindi potrebbe vomitare JS errori in tutto il mondo.
Altri suggerimenti
in fondo quando si elimina con successo un articolo, nella stessa richiesta (non farne un altro, non è necessario) si recupera anche (se presente) articolo seguente dopo l'ultima nella pagina (per ID, data di pubblicazione o altro) e restituire il codice HTML per aggiungere
per essere chiari: se supponiamo si sta cercando di articoli 16,17,18,19,20 si sa che l'ultimo elemento a pagina 20. Se l'articolo 17 di eliminazione poi si recupera elemento 21, aggiungere in pagina e di impostare questo valore 21 come ultimo valore nella pagina (e così via)