• 1

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

السلام عليكم،
لدي في 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.
وشكراً كثيراً.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن