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

السؤال

Recommended Posts

  • 1
نشر
  • نجلب كل البيانات (جيدة للتجريب)
  • نربط جدول المستخدمين مع جدول المتابعة بالاعتماد على حقل رقم المستخدم (معرف المستخدم)
    • في أول ربط جلبنا من نقوم بمتابعتهم
  • ثم نقوم بعمل ربط جديد مع جدول المنشورات
    • لجلب المنشور لشخص نقوم بمتابعته
  • ثم نقوم بفلترة النتائج حسب رقم المستخدم الحالي
SELECT * 
FROM USERS u
JOIN FOLLOWS f

ON (u.id = f.user_id) 

JOIN POSTS p
on (f.follower_id = p.user_id) 

WHERE u.id = $id

 

  • -1
نشر

لجلب البيانات من عدة جداول مترابطة مع بعضها بعلاقة ما , نقوم باستخدام inner join بحيث تسمح لنا inner join بجلب البيانات بناء على العلاقة التي قمنا بإنشائها بين الجداول و في حالة استخدام لغة PHP يمكنك من جلب البيانات من خلال الكود التالي 

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// الاتصال بقاعدة البيانات
$conn = new mysqli($servername, $username, $password, $dbname);
// التحقق من الاتصال بقاعدة البيانات
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM USERS u JOIN FOLLOWS f ON (u.id = f.user_id) JOIN POSTS p on (f.follower_id = p.user_id) WHERE u.id = $id";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    
    while($row = $result->fetch_assoc()) {
        echo "<br> id: ". $row["id"]. " - Name: ". $row["name"]. " " . $row["email"] . "<br>";
    }
} else {
    echo "لا توجد بيانات لعرضها";
}

$conn->close();
?>

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...