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

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

Hamada Ahmed

السؤال

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

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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

لكي تربط جدولين لديهما حقل مشترك, يمكنك استعمال JOIN او INNER JOIN. حيث يجب ان يكون الحقل من نفس النوع,

$sql = "SELECT  * from chat INNER JOIN users on users.id=chat.sender_id";

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...