سعيد يوسف نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 أحاول تقليد تطبيق تويتر، وأريد عرض مشاركات المستخدمين الذين أتابعهم حيث لدي 3 جداول بالشكل التالي: مستحدمين Users: id علاقة المتابعات Follows: user_id, follower_id المنشورات Posts: user_id 1 اقتباس
1 Wael Aljamal نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 نجلب كل البيانات (جيدة للتجريب) نربط جدول المستخدمين مع جدول المتابعة بالاعتماد على حقل رقم المستخدم (معرف المستخدم) في أول ربط جلبنا من نقوم بمتابعتهم ثم نقوم بعمل ربط جديد مع جدول المنشورات لجلب المنشور لشخص نقوم بمتابعته ثم نقوم بفلترة النتائج حسب رقم المستخدم الحالي 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 2 اقتباس
-1 بلال زيادة نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 لجلب البيانات من عدة جداول مترابطة مع بعضها بعلاقة ما , نقوم باستخدام 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(); ?> اقتباس
السؤال
سعيد يوسف
أحاول تقليد تطبيق تويتر، وأريد عرض مشاركات المستخدمين الذين أتابعهم حيث لدي 3 جداول بالشكل التالي:
مستحدمين Users: id علاقة المتابعات Follows: user_id, follower_id المنشورات Posts: user_id
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.