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

السؤال

نشر

لدي جدولين في قاعدة البيانات

الاول 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();
?>

 

Recommended Posts

  • 1
نشر

سوف نقوم باستخدام 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");

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...