اذهب إلى المحتوى
  • 1

كيف يمكنني عمل تعدد الصفحات في صفحة البحث؟

علي أحمد-2

السؤال

السلام عليكم،
لدي في Header الموقع Input خاص بالبحث، عندما يدخل المستخدم كلمة البحث يتم تحويله لصفحة search.php ، حتى ولو لم يدخل شيء سيتم تحويله للصفحة وأظهر رسالة (لم تدخل شيئًا للبحث) ثم أعرض له form به Input لكي يبحث من جديد، وإن لم يتم إيجاد ما يبحث عنه سيتم عرض رسالة لم يتم العثور على نتائج وأعرض له form البحث مرة أخرى .. كل شيء يعمل بشكل جيّد إلى الآن، لكن:

عندما يكون هنالك أكثر من 50 نتيجة بحث على سبيل المثال، سيكون شيء غير عملي أبدًا أن أعرض تلك النتائج في صفحة واحدة، لذلك يجب علي عمل الPagination، ولكنني صراحًة لا أعلم كيف سيعمل الأمر خصوصًا في صفحة مثل الsearch، حيث أنني لدي نظام pagination في معظم صفحات الموقع، ولكن هنا في صفحة البحث عندما أطبق نفس النظام تظهر مشكلة ألا وهي: أنه يتم عرض كل النتائج في صفحة واحدة ثم يتم عرض ترقيم الصفحات، وعندما أذهب من الصفحة 1 إلى 2 مثلاً، يتم عرض كل النتائج مرة أخرى (نفس نتائج الصفحة الأولى)، وأعتقد أن المشكلة من الLIMIT لذلك لا ينجح الأمر!
 
الفورم الذي لدي في Header الصفحة:

<form class="navbar-form navbar-left" action="search" method="POST">
  <div class="form-group">
    <input type="search" name="searchFor" class="form-control"
           placeholder="Search for Articles" dir="auto"
           <?php
    echo isset($_POST['searchFor']) && !empty($_POST['searchFor']) ?
    'value="' .  htmlentities($_POST['searchFor']) . '"' : ''
    ?>
    >
  </div>
  <button type="submit" class="btn btn-default">Search</button>
</form>

____
والذي في صفحة الsearch.php :

 

<form action="search" method="POST" class="mb">
  <!-- Search Input -->
  <div class="form-group">
    <input type="search" class="form-control custIn" name="searchFor"
           placeholder="Search for Articles..." dir="auto"
           <?php
    echo isset($_POST['searchFor']) && !empty($_POST['searchFor']) ?
    'value="' .  htmlentities($_POST['searchFor']) . '"' : ''
    ?>
    required>
  </div>
  <div class="form-group">
    <button class="btn btn-primary btn-block" type="submit">
      Search
    </button>
  </div>
</form>

 

كما أنني أستخدم Function جاهزة من وجدتها في أحد الشروحات وخصصتها لتعمل مع قاعدة البيانات التي أعمل بها، لذلك إعتمدت عليها كثيراً في معظم صفحات الموقع، وأستطيع القول بأنني أخذت فكرة عامة عن كيف يعمل نظام الــPagination. (هذا رابط للكود الذي أستعمله: http://pastebin.com/EmQBMb0J).

رجاءً كيف يمكنني حل المشكلة؟ 
وأتمنى إذا كان هنالك أي تفاصيل عن المشكلة ترغبون بها أو شيء لم اشرحه بشكل جيّد أرجو إخباري لكي تحل المشكلة!
وإذا كان الحل غير عملي (غير مجدي) بالــPHP ، أتمنى إدلالي لطريقة جيدة بالـJavaScript أو jQuery.
وشكراً كثيراً.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...