صندوق بحث بلغة php

ممكن كود برمجي بلغة php يقوم بالبحث في قاعدة البيانات كلها اقصد مثلا قاعدة البيانات اسمها (يلاةخاثثdbmoheeb)

وفيها جداول عديدة فانا اريد كود يجلب لي البيانات التي في الجداول كلها في صندوق بحث واحد بمعنى اذا شخص بحث عن اسم طالب يقوم الكود بتفحص جميع الجداول حتى ياتي على الجدول المحفوظ فيه اسم الطالب

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يمكنك محاولة التعديل الكود التالي ليتناسب مع المشروع لديك

تعريف متغيرات الاتصال بقاعدة البيانات

$servername = "localhost";
$username = "root";
$password = "";
$database = "database";

ثم إنشاء اتصال بقاعدة البيانات ثم بعد ذلك

// 5. إنشاء مصفوفة فارغة لتخزين نتائج البحث
$results = array();

// 6. تصفية جميع الجداول في قاعدة البيانات
$tables = mysqli_query($conn, "SHOW TABLES");
while ($table = mysqli_fetch_assoc($tables)) {

ثم نقوم بإنشاء استعلام بحث لكل جدول

  $query = "SELECT * FROM $table[Tables_in_$database] WHERE `name` LIKE '%$search%'";
  // 8. تنفيذ الاستعلام
  $result = mysqli_query($conn, $query);
  // 9. إضافة نتائج الاستعلام إلى المصفوفة
  while ($row = mysqli_fetch_assoc($result)) {
    $results[] = $row;
  }
}
// 10. إرسال نتائج البحث إلى المستخدم
echo json_encode($results);

اعطني رقمك الواتس اب ساتواصل معك بموضوع مهم جدا بالنسبة لي

هذا رقمي : 967734168326+

الموضوع وما فيه تصحيح بعض الاخطاء واضافة اشياء في موقع بسيط جدا وقد اعطيك اجر على ذلك والله الشاهد بيننا

ادخل على صفحته ستجد زر وظفني على مستقل، ويمكنك توظيفه هناك والاتفاق على التفاصيل

عليك استخدام استعلام SQL UNION لدمج نتائج البحث من مختلف الجداول، ويفترض أن يكون لديك اتصالًا بقاعدة البيانات مستخدمًا مكتبة PDO:

<?php


// تعيين معلومات الاتصال بقاعدة البيانات
$host = "localhost";
$dbname = "dbmoheeb";
$username = "اسم_المستخدم";
$password = "كلمة_المرور";


// إعداد اتصال PDO
try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Failed to connect to database: " . $e->getMessage());
}


// الدالة للبحث في الجداول
function searchTables($conn, $searchTerm) {
    try {
        // استعلام SQL يستخدم UNION لدمج نتائج البحث من جداول مختلفة
        $query = "SELECT column1, column2 FROM table1 WHERE column1 LIKE :searchTerm
                  UNION
                  SELECT column1, column2 FROM table2 WHERE column1 LIKE :searchTerm
                  UNION
                  SELECT column1, column2 FROM table3 WHERE column1 LIKE :searchTerm";
        
        // يمكنك إضافة المزيد من الجداول حسب الحاجة


        // تحضير الاستعلام
        $stmt = $conn->prepare($query);


        // ربط قيمة البحث
        $searchTerm = '%' . $searchTerm . '%';
        $stmt->bindParam(':searchTerm', $searchTerm, PDO::PARAM_STR);


        // تنفيذ الاستعلام
        $stmt->execute();


        // استرجاع النتائج
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);


        return $results;
    } catch (PDOException $e) {
        die("Error: " . $e->getMessage());
    }
}


// مثال على استخدام الدالة
$searchTerm = "اسم_الطالب";
$results = searchTables($conn, $searchTerm);


// عرض النتائج
foreach ($results as $result) {
    echo "Column1: " . $result['column1'] . ", Column2: " . $result['column2'] . "<br>";
}

// إغلاق اتصال PDO
$conn = null;

?>

بالطبع يجب تعديل الكود ليتناسب مع بيانات قاعدة البيانات الفعلية وتغيير اسماء الاعمدة والجداول وحقول البحث.

عطني رقمك الواتس اب ساتواصل معك بموضوع مهم جدا بالنسبة لي

هذا رقمي : 967734168326+

الموضوع وما فيه تصحيح بعض الاخطاء واضافة اشياء في موقع بسيط جدا وقد اعطيك اجر على ذلك والله الشاهد بيننا