الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال: لدي ثلاث جداول بقاعدة البيانات .. كيف أسترجع البيانات منها ..

بدأه AboSami في 4 أغسطس 2010 · 4 رد · 496 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ..

كيف حالكم يا شباااااااااااااااب ..

أنا عندي ثلاثة جداوول ..

الجدول الأول : جدول المواضيع ..

CREATE TABLE `post` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `body` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

الجدول الثاني: أسماء الكلمات الدلالية tags

CREATE TABLE `mytag` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

الجدول الثالث: تسجيل الكلمات الدلالية وربطها بـ id الموضوووع ..

CREATE TABLE `record_tag` (
  `id_post` int(11) NOT NULL,
  `id_tag` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

بصررررررراحة حاااااااااااولت إني أعرض المووواضيع جميعها وأعرض الوسووم (الكلمات الدلالية ) معها ..

لكن وجدت بطء في عمل هذا الأمر ..

لا أدري هل لأني عقدت المسألة في كتابة الكوووووود :lol:

هذا الكود: ملاحظة: الكود والـ sql والبيانات موجودة في المرفقات ، بإمكانكم تجريبها ..

<?php
$con = mysql_connect ("localhost","root","")or die (mysql_error());
mysql_select_db ("mytest",$con) or die (mysql_error());
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"  />
<title>Untitled Document</title>
</head>
<body>

<?php 
$sql = "SELECT * FROM post";
$query = mysql_query ($sql, $con) or die (mysql_error());
while ($row_post = mysql_fetch_array($query)){
echo '<a href="?id='.$row_post['id'].'">'.$row_post['title'].'<a/><br />'.$row_post['body'];
echo "<br /><strong>الوسوم:</strong>";
$id_post= $row_post['id'];
$sql1 = "SELECT * from mytag,record_tag where record_tag.id_tag=mytag.id AND record_tag.id_post=$id_post";
$query1 = mysql_query($sql1 , $con) or die (mysql_error());
while ($row = mysql_fetch_array($query1)){
echo '<a href="?id='.$row['id'].'">'.$row['name'].'<a/> - ';

}
echo '<br /><br />';
}
?>
</body>
</html>

عطوني رأيكم في كتابة الكود وما هو الأفضل ..

بورك فيكم ..

اللهم بلغنا رمضان ..

sql.txt

index.php

#2

استخدم Join على mytag و record_tag

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

يا ليت توضح أكثر يا الغلا ..

#4

join بتستخدم للإستعلام من اكثر من جدول بناء على العلاقة بينهم

http://www.w3schools.com/sql/sql_join.asp

عشان كدا انت عامل جدول record_tag اصلا

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#5

الله يجزاك خير ..

تم التطبيق بنجاح ..

:)

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…