إعادة توجيه المستخدم إلى الصفحة الأخيرة على بلدي ترقيم الصفحات

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

  •  06-07-2019
  •  | 
  •  

سؤال

وأعرف أن هذا يبدو مربكا: لقد بنيت فقط بعض سابق الأساسي / ترقيم الصفحات القادم لماي وأردت أن أعرف، إذا كانت الصفحة الأخيرة من الصفوف بلدي هو فب؟ الصفحة = 5 وشخص يضع فب؟ الصفحة = 263 ثم أريد أن توجيهها إلى .php ؟ الصفحة = 5

وأي أفكار بشأن كيفية القيام بذلك .. المعلومات هو: كم عدد الصفوف عاد بعد LIMIT حتى إذا كان فب؟ الصفحة لدي حاليا = 263 ثم سيكون من 0 ولدي أيضا عدد من الصفوف في قاعدة البيانات الخاصة بي ... الحد الأقصى هو 10:)

وشكرا مقدما !!

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

المحلول

إذا كان لديك بالفعل عدد من الصفوف، وأنت تعرف كم عدد الصفوف التي ستعرض في كل صفحة، ثم يمكنك حساب الصفحة الأخيرة مثل ذلك:

$totalPages = ceil( $rows / $perPage );

وبعد ذلك، ببساطة تقييد الصفحة الحالية إلى حد معقول:

$page = isset( $_GET['page'] ) ? (int) $_GET['page'] : 1;
$page = min( max( $page, 1 ), $totalPages );

نصائح أخرى

وأسهل شيء فعله هو تحديد بعض شكل متغير $max_page_number، ثم تأكد من أن الصفحة دخلت $_GET['page'] إما أقل من أكبر عدد ممكن، أو إذا لم يكن كذلك، تعويض عن ذلك وإعادة توجيه إلى الصفحة الأخيرة:

و$ max_page_number = 10؛ // أو أيا كان عدد الأقصى / الصفحة الأخيرة هو، $ page_requested = $ _GET [ 'الصفحة']؛

if ($page_requested <= $max_page_number) {

// show the page requested by the user
}

elseif ($page_requested > $max_page_number) {

// redirect to the relevant page

}

else {

// redirect to the splash page, or first page

}

وهذا أيضا يستحق يشير إلى أنه يجب التحقق من الناس لا يمكن أن يدخل index.php?page=-10 دون أن اشتعلت، لذا يجب عليك مراجعة حقا للأرقام <م> أقل من الصفحة الأولى و<م> أكبر من الصفحة الأخيرة.

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