PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : خواندن اطلاعات از دو جدول در ديتابيس



aghaee
January 1st, 2011, 18:36
سلام
من ميخوام از دوتا جدول اطلاعات رو بخونم،‌ بصورت تركيبي

مثلا:
جدول اول
نام كالا - قيمت كالا - كد كالا

جدول دوم - مثلا براي فرم فروش هست
كد كالا - تعداد فروش - قيمت كل

حالا ميخوام اطلاعات جدول دوم رو بصورت زير در خروجي چاپ كنم

نام محصول - كد محصول - تعداد - قيمت - قيمت كل

رنگ قرمز از جدول اول خودنه ميشه

و بقيه از جدول دوم


ممنون ميشم راهنمايي بفرمائيد

با تشكر

Rezash
January 1st, 2011, 21:39
SELECT table1.*,table2.* FROM table1,table2 WHERE table1.code=table2.code

aghaee
January 1st, 2011, 21:56
خوب اگه توي يه حلقه while باشه چطوري بايد ازش استفاده كنم؟

مثلا: مثلا با حلقه while ميخواهيم ليست يوزرها رو نشون بديم
بايد هر بار با چرخش حلقه يه Query اجرا كنم؟

چون هر بار table1.code=table2.code متفاوت خواهد بود؟

ميشه يه مثال كوچولو بزنيد؟

ممنون و متشكر

Rezash
January 1st, 2011, 22:05
نه ، اگر دو كوئري بنويسيد ميشه ميشه اوني كه ميگيد يعني اجراي كوئري دوم در حلقه كه مناسب نيست...
ببينيد در دو جدول كد محصول مشترك هست ، درسته ؟ پس ما نياز داريم ركورها به صورت متناظر بر اساس كد مشتركشون انتخاب بشند و نه ترتيب
يعني وقتي ميگيم كد محصول از جدول يك برابر كد محصول از جدول دو باشه يعني اينكه قيمت و مشخصات مربوطه به اين كد از جدول يك با مشخصات متناظر از جدول 2 انتخاب بشند.
نمونه :

$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'];
}
* كد رو دستي و در مروگر اتينجا نوشتم چك كنيد خطا نداشته باشه !
* اگر نام فيلدهاي فير معادي داريم كه در دو جدول يكسان هستند بايد در كوئري مشخص كنيم تا اشتباه نشه ولي ترجيحا بهتره نام هاي مجزايي استفاده كنيد.

aghaee
January 2nd, 2011, 20:38
نه ، اگر دو كوئري بنويسيد ميشه ميشه اوني كه ميگيد يعني اجراي كوئري دوم در حلقه كه مناسب نيست...
ببينيد در دو جدول كد محصول مشترك هست ، درسته ؟ پس ما نياز داريم ركورها به صورت متناظر بر اساس كد مشتركشون انتخاب بشند و نه ترتيب
يعني وقتي ميگيم كد محصول از جدول يك برابر كد محصول از جدول دو باشه يعني اينكه قيمت و مشخصات مربوطه به اين كد از جدول يك با مشخصات متناظر از جدول 2 انتخاب بشند.
نمونه :

$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 قبلي جواب نمي ده

درسته؟