-
January 1st, 2011, 18:36
#1
عضو انجمن
خواندن اطلاعات از دو جدول در ديتابيس
سلام
من ميخوام از دوتا جدول اطلاعات رو بخونم، بصورت تركيبي
مثلا:
جدول اول
نام كالا - قيمت كالا - كد كالا
جدول دوم - مثلا براي فرم فروش هست
كد كالا - تعداد فروش - قيمت كل
حالا ميخوام اطلاعات جدول دوم رو بصورت زير در خروجي چاپ كنم
نام محصول - كد محصول - تعداد - قيمت - قيمت كل
رنگ قرمز از جدول اول خودنه ميشه
و بقيه از جدول دوم
ممنون ميشم راهنمايي بفرمائيد
با تشكر
-
-
January 1st, 2011 18:36
# ADS
-
January 1st, 2011, 21:39
#2
عضو دائم
پاسخ : خواندن اطلاعات از دو جدول در دستابيس
کد PHP:
SELECT table1.*,table2.* FROM table1,table2 WHERE table1.code=table2.code
-
تعداد تشکر ها از Rezash به دلیل پست مفید
-
January 1st, 2011, 21:56
#3
عضو انجمن
پاسخ : خواندن اطلاعات از دو جدول در دستابيس
خوب اگه توي يه حلقه while باشه چطوري بايد ازش استفاده كنم؟
مثلا: مثلا با حلقه while ميخواهيم ليست يوزرها رو نشون بديم
بايد هر بار با چرخش حلقه يه Query اجرا كنم؟
چون هر بار table1.code=table2.code متفاوت خواهد بود؟
ميشه يه مثال كوچولو بزنيد؟
ممنون و متشكر
-
-
January 1st, 2011, 22:05
#4
عضو دائم
پاسخ : خواندن اطلاعات از دو جدول در دستابيس
نه ، اگر دو كوئري بنويسيد ميشه ميشه اوني كه ميگيد يعني اجراي كوئري دوم در حلقه كه مناسب نيست...
ببينيد در دو جدول كد محصول مشترك هست ، درسته ؟ پس ما نياز داريم ركورها به صورت متناظر بر اساس كد مشتركشون انتخاب بشند و نه ترتيب
يعني وقتي ميگيم كد محصول از جدول يك برابر كد محصول از جدول دو باشه يعني اينكه قيمت و مشخصات مربوطه به اين كد از جدول يك با مشخصات متناظر از جدول 2 انتخاب بشند.
نمونه :
کد PHP:
$q = mysql_query("SELECT table1.*,table2.* FROM table1,table2 WHERE table1.code=table2.code ");
while($data = mysql_fetch_array($q))
{
echo "product code : ".$data['code'];
echo "<br> name : ".$data['name'];
echo "<br> price : ".$data['price'];
echo "<br> sold items : ".$data['sold'];
}
* كد رو دستي و در مروگر اتينجا نوشتم چك كنيد خطا نداشته باشه !
* اگر نام فيلدهاي فير معادي داريم كه در دو جدول يكسان هستند بايد در كوئري مشخص كنيم تا اشتباه نشه ولي ترجيحا بهتره نام هاي مجزايي استفاده كنيد.
-
تعداد تشکر ها از Rezash به دلیل پست مفید
-
January 2nd, 2011, 20:38
#5
عضو انجمن
پاسخ : خواندن اطلاعات از دو جدول در دستابيس

نوشته اصلی توسط
Rezash
نه ، اگر دو كوئري بنويسيد ميشه ميشه اوني كه ميگيد يعني اجراي كوئري دوم در حلقه كه مناسب نيست...
ببينيد در دو جدول كد محصول مشترك هست ، درسته ؟ پس ما نياز داريم ركورها به صورت متناظر بر اساس كد مشتركشون انتخاب بشند و نه ترتيب
يعني وقتي ميگيم كد محصول از جدول يك برابر كد محصول از جدول دو باشه يعني اينكه قيمت و مشخصات مربوطه به اين كد از جدول يك با مشخصات متناظر از جدول 2 انتخاب بشند.
نمونه :
کد PHP:
$q = mysql_query("SELECT table1.*,table2.* FROM table1,table2 WHERE table1.code=table2.code ");
while($data = mysql_fetch_array($q))
{
echo "product code : ".$data['code'];
echo "<br> name : ".$data['name'];
echo "<br> price : ".$data['price'];
echo "<br> sold items : ".$data['sold'];
}
* كد رو دستي و در مروگر اتينجا نوشتم چك كنيد خطا نداشته باشه !
* اگر نام فيلدهاي فير معادي داريم كه در دو جدول يكسان هستند بايد در كوئري مشخص كنيم تا اشتباه نشه ولي ترجيحا بهتره نام هاي مجزايي استفاده كنيد.
كمي مسئله گنگه واسم:
ببينيد مثلا كد محصول 48 نامش باشه سي دي آموزش رايانه
با اجرا شدن Query در جدول اول و دوم محصول كد 48 نشون داده ميشه
حالا توي رديف دوم كد محصول ميشه 42 اينم آموزش ورد هست! ديگه Query قبلي جواب نمي ده
درسته؟
-