احذف مقالًا وسحب أول مقال من الصفحة التالية

StackOverflow https://stackoverflow.com/questions/4244680

  •  27-09-2019
  •  | 
  •  

سؤال

أحاول إنشاء مدونة مع نظام ترقيم ترميم (على سبيل المثال. 5 مقالات لكل صفحة). كل شيء على ما يرام مع ترقيم الصفحات نفسه ولكن بجانب كل مقالة ، قمت بتضمين زر "حذف" يسمح للمشرف بإزالة المقالة ذات الصلة ومحتواه بشكل ديناميكي. ما أريده الآن هو "إلحاق" (بدون تحديث) المقال الأول من الصفحة التالية عندما أحذف مقالًا ، والثاني عندما أحذف مقالًا آخر ، ثم الثالث وما إلى ذلك. أريد أن يتجنب هذا الحصول على صفحة فارغة إذا واصلت حذف المقالات دون تحديث.

أنا في الواقع أستخدم PHP وقاعدة بيانات MySQL لتخزين البيانات للتكرار ، فأنا أستخدم شيئًا مشابهًا لهذاحلقة الوصل.

هل كانت مفيدة؟

المحلول

أجبت في الأصل على المكررة ، لكن أعتقد أنه قد يتم حذفه ، لذلك النسخ هنا:

jQuery يجعلها لطيفة وسهلة. هذا يفترض أنك حصلت على ملف php يسمى ajax/delete-article.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 ، فسترجع العنصر 21 ، قم بإلحاقها في الصفحة وتعيين هذه القيمة 21 كقيمة أخرى في الصفحة (وهلم جرا)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top