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

السؤال

نشر

السلام عليكم ورحمة الله وبركاته

حاولت جلب بيانات بدون تحديث الصفحة ولم تضبط الطريقة


    <form>
      <input type="text" size="30" onkeyup="showResult(this.value)">
      <div id="livesearch"></div>
    </form>

الاستعلام يبحث عن جميع المواضيع التي تحتوي على الكلمة من الحق في الاعلى :

$qq = mysql_query("select * from `AA` where `BB` LIKE '%$SS_age%' ");

ارفقت صورة للفكرة وهي المطلوبه بهذا الشكل

مجرد كتابه الكلمة تنزل قائمة بالمواضع التي تحتوي على نفس الكلمة في حقل البحث

لقطة شاشة 2024-11-23 023228.png

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

أولا يجب وضع كود الإستعلام المرفق في ملف php منفصل حتى يتم إرسال طلب البحث له و لنفرض أن إسم الملف هو search.php .

الآن يجب وضع كود javascript التالي في نفس الملف الموجود به كود html :

function showResult(str) {
  document.getElementById("livesearch").innerHTML = "";
  fetch(`search.php?q=${encodeURIComponent(str)}`)
    .then(response => response.text())
    .then(data => {
      document.getElementById("livesearch").innerHTML = data;
    })
    .catch(error => {
      console.error('Error:', error);  // التعامل مع الأخطاء إذا حدثت
    });
}

وهكذا قمنا بإنشاء الدالة showResult الذي يتم إستدعاءها عند الحدث keyup . ونقوم فيها أولا بتفريغ محتوى العنصر livesearch وبعد ذلك نرسل طلب البحث إلى الملف search.php و نقوم بوضع كلمة البحث في parameter يسمى q و بعد ذلك نستقبل ال data وهي البيانات التي تم إرجاعها من الخادم من ملف search.php و نضعها بداخل العنصر livesearch.

الآن في ملف search.php نستقبل الطلب كالتالي :

<?php

if (isset($_GET['q'])) {
  $SS_age = $conn->real_escape_string($_GET['q']);
  $qq = mysql_query("select * from `AA` where `BB` LIKE '%$SS_age%' ");
  
  if (mysql_num_rows($qq)) {
    // عرض النتائج
    while ($row = mysql_fetch_assoc($qq)) {
      echo "<div>" . $row['BB'] . "</div>";  // يمكنك تغير هذا السطر بناء على البيانات التي لديك
    }
  } else {
    echo "No results found";
  }
}

وهكذا سيتم إرسال البيانات إذا وجدت في قاعدة البيانات . ويمكنك تغير السطر بداخل حلقة while إلى الكود الذي تريده لبناء القائمة الخاصة بالنتائج

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...