Hamada Ahmed نشر 15 أغسطس 2021 أرسل تقرير نشر 15 أغسطس 2021 لدي جدولين في قاعدة البيانات الاول users يحتوي id ومعلومات العضو اسم وايميل وغيره الجدول الثاني chat يحوي sender_id هو نفسه ال id في جدول users كيف يمكن ربط الجدولين عند الاستعلام بحيث يتم عرض الرسالة من chat وعرض معلومات العضو من users <?php $stmt = $db->prepare('SELECT * FROM chat'); $stmt->execute(); $result = $stmt->get_result(); $count = mysqli_num_rows($result); ?> <?php if ($count > 0) : ?> <?php while ($row = $result->fetch_assoc() ): ?> <?= $row['message'] ?> "> .... .... <?php endwhile; ?> <?php endif; ?> ............................ <?php $stmt = $db->prepare('SELECT * FROM users'); $stmt->execute(); $result = $stmt->get_result(); $row_accounts = $result->fetch_assoc(); $stmt->close(); ?> 1 اقتباس
1 بلال زيادة نشر 15 أغسطس 2021 أرسل تقرير نشر 15 أغسطس 2021 سوف نقوم باستخدام inner join للربط بين الجدولين فيمكنك استخدام inner join بهذا الشكل "SELECT c.*, u.* FROM `chat` as c inner join users as u WHERE u.id = c.sender_id ORDER BY `id` DESC LIMIT 50"; ففي حالة الكود الخاص بك يتم تنفيذ هذا الاستعلام $stmt = $db->prepare("SELECT c.*, u.* FROM `chat` as c inner join users as u WHERE u.id = c.sender_id ORDER BY `ID` DESC LIMIT 50"); ومن ثم يمكنك الوصول إلى جميع الحقول بداخل الجدولين أو يمكنك تحديد مثلاً جميع حقول جدول ما و حقل من الجدول الثاني بهذا الشكل $stmt = $db->prepare("SELECT c.*, u.name FROM `chat` as c inner join users as u WHERE u.id = c.sender_id ORDER BY `ID` DESC LIMIT 50"); 1 اقتباس
1 Walid Kadded نشر 15 أغسطس 2021 أرسل تقرير نشر 15 أغسطس 2021 لكي تربط جدولين لديهما حقل مشترك, يمكنك استعمال JOIN او INNER JOIN. حيث يجب ان يكون الحقل من نفس النوع, $sql = "SELECT * from chat INNER JOIN users on users.id=chat.sender_id"; 1 اقتباس
السؤال
Hamada Ahmed
لدي جدولين في قاعدة البيانات
الاول users يحتوي id ومعلومات العضو اسم وايميل وغيره
الجدول الثاني chat يحوي sender_id هو نفسه ال id في جدول users
كيف يمكن ربط الجدولين عند الاستعلام بحيث يتم عرض الرسالة من chat وعرض معلومات العضو من users
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.