كليد خارجي يا Fk

2 تا Table داريم كه ساختارش اين شكلي هست:


Cat_name | Cat_ID
-----------------------------
A 0
B 1
C 2
D 3


BOOK | Cat_ID
------------------------------
2 HTML4
3 CCS2
2 HTML3
1 FlashMX
2 JavaScript



حالا چطوري ليست تمام كتابهاي دسته بندي C كه آيدي اون 2 هست را از ديتابيس بكشيم بيرون كه خروجي اينجوري داشته باشه.



HTML4 C
HTML3 C
JavaScript C

راستش خودم ميتونم ديتا را بكشم بيرون اما نميدونم مثلا آيدي دسته بندي يك كتاب كه 2 هست چطوري اسم كتاب 2 را از جدول دسته بندي كتابها بيرون بيارم
 

sama_sally

Member
خوب آي دي دسته رو fetch ميكني بعد وقتي ميخواي اطلاعات رو از تيبل بعدي بكشي بيرون از همون آي دي استفاده ميكني:
PHP:
<?php
//اول آي دي رو از جدول اول بكش بيرون توي متغير ذخيره كن بعد...
$query2 = "SELECT * FROM جدول دوم WHERE 'cat_ID' = `$first_id`";
//...
?>
 

m_ziba

Member
خوب اين چه كاريه؟
اين جوري مجبورين دو بار به پایگاه درخواست بدین، ولی با یه دونه هم مشکلتون حله.
اون راه بهتر اين طوریه:

(JOIN)

$table1 = "table1_name";
$table2 = "table2_name";

$Query = "SELECT $table1.Cat_name, $table2.BOOK FROM $table1,$table2 WHERE $table1.Cat_ID = $table2.Cat_ID";
 
آخرین ویرایش:

golden

Member
کد:
select * from sec_tbl left join first_tbl on sec_tbl.cat_id = first_tbl.cat_id where sec_tbl.cat_id = 2
 

m_ziba

Member
سلام.

golden فکر کنم اشتباه کردی!
ايشون نمی خوان صرفاً با "2" کار کنن.

ولی خوب اگه اين طوريه که حقبا شماست.
:)
 
حالا اگر من بخوام ليست همه كتابها و دسته اي كه اون كتاب درش قرار دارد را ليست كنم چي؟ يك چيزي مثل اين خروجيش باشه.



C <- HTML4
D <- CCS2
C <- HTML3
A <-FlashMX
C <- JavaScript









ـ
 
آخرین ویرایش:

golden

Member
در کدی که بالا نوشتم خوب میشه به جای 2 هر عدد دیگه ای هم نوشت مگه نه...
کد:
select book , cat_name from sec_tbl left join first_tbl on sec_tbl.cat_id = first_tbl.cat_id 
یا
select book , cat_name from sec_tbl,frist_tbl where sec_tbl.cat_id = first_tbl.cat_id
 
videoparda گفت:
حالا اگر من بخوام ليست همه كتابها و دسته اي كه اون كتاب درش قرار دارد را ليست كنم چي؟ يك چيزي مثل اين خروجيش باشه.



C <- HTML4
D <- CCS2
C <- HTML3
A <-FlashMX
C <- JavaScript

ـ



كسي نميتونه منو راهنمايي كند؟




.
 
آخرین ویرایش:

m_ziba

Member
هم من كد رو نوشتم هم دوست ديگرمون.

حالا مي شه بفرماييد شما ديگه چه جور راهنمايي مي خوايد؟؟؟!!!
 
m_ziba گفت:
هم من كد رو نوشتم هم دوست ديگرمون.

حالا مي شه بفرماييد شما ديگه چه جور راهنمايي مي خوايد؟؟؟!!!

از راهنمايي شما و بقيه دوستان ممنون هستم.

اگر من بخوام ليست همه كتابها و دسته اي كه اون كتاب درش قرار دارد را ليست كنم چكار كنم؟
يك چيزي مثل اين خروجيش باشه.


C <- HTML4
D <- CCS2
C <- HTML3
A <-FlashMX
C <- JavaScript

باز هم ممنون هستم
 

m_ziba

Member
دوست گرامی!
من که کد اين کار رو يک بار براتون نوشتم!

SELECT $table1.Cat_name, $table2.BOOK FROM $table1,$table2 WHERE $table1.Cat_ID =$table2.Cat_ID
 
m_ziba گفت:
دوست گرامی!
من که کد اين کار رو يک بار براتون نوشتم!

SELECT $table1.Cat_name, $table2.BOOK FROM $table1,$table2 WHERE $table1.Cat_ID =$table2.Cat_ID

من واقعا از شما معذرت ميخوام كه زياد ناشي بازي در ميارم.
در پستهاي اول اين موضوع من جواب سوالم را گرفتم ( سوالم اين بود كه چگونه كتابهاي موجود در يك دسته را بيرون بكشم).

و اما هم اكنون مشكلي ديگري دارم ( چگونه اسم هر كتاب همراه با دسته بندي كتاب مذكور بيرون كشيده شود )
آيا اين Query شما اسم هر كتاب را با همراه نام گروهي كه كتاب در آن موجود است به من ميده؟

توجه بفرماييد --> اسم هر كتاب همراه با اسم گروه مربوطه ( نه آيدي گروه مربوطه )
مثلا اينجوري؟


HTML ---> Programing
FLASH ---> Graphic
PHP ---> Programing
CSS ---> Programing
 

m_ziba

Member
همين کارو می کنه.
کد من می ياد از جدول اول و دوم اونايی رو که شماره مثل هم دارن کنار هم می چينه.
يعنی cat_name از جدول اول و book از جدول دوم به شرطی که cat_ID هاشون برابر هم باشه.
خود کد رو اگه بخونيد خيلی واضحه.

اما اگر يه دسته خاص منظورتون باشه، مثلاً دسته ای که کد اونها 2 هست، کدی که golden نوشته بهتون کمک می کنه:
select * from sec_tbl left join first_tbl on sec_tbl.cat_id = first_tbl.cat_id where sec_tbl.cat_id = 2
 

m_ziba

Member
سلام دوباره.
اينجا به من می گه که می تونم php.ini رو overWrite کنم:http://www.washington.edu/computing/web/publishing/php-ini.html
به نظر من خيلی مسخره است اگه نشه تنظيمات دلخواه خودم رو داشته باشم.

اما اين که شما می گين..
آخه من چطور توی برنامه بيام تنظيمات رو set کنم؟
من می خوام upload_tmp_dir رو تغيير بدم.اين هم مشکل اصلی من:
http://forum.majidonline.com/showthread.php?t=36312

اما upload File بعد از دريافت اطلاعات فرم و قبل از load کردن page ای که اطلاعات فرم رو پردازش می کنه انجام می شه.

حالا من بيام توی کدوم page کدش رو بنويسم؟
 
m_ziba گفت:
سلام دوباره.
اينجا به من می گه که می تونم php.ini رو overWrite کنم:http://www.washington.edu/computing/web/publishing/php-ini.html
به نظر من خيلی مسخره است اگه نشه تنظيمات دلخواه خودم رو داشته باشم.

اما اين که شما می گين..
آخه من چطور توی برنامه بيام تنظيمات رو set کنم؟
من می خوام upload_tmp_dir رو تغيير بدم.اين هم مشکل اصلی من:
http://forum.majidonline.com/showthread.php?t=36312

اما upload File بعد از دريافت اطلاعات فرم و قبل از load کردن page ای که اطلاعات فرم رو پردازش می کنه انجام می شه.

حالا من بيام توی کدوم page کدش رو بنويسم؟


آقا ميبخشيد. اينو اشتباها اينجا جا نگذاشتيد؟
 

m_ziba

Member
:)
چرا وااااااااااااای!
عجب ضايعی شد!!!!
می گم چرا هيچ کس جوابمو نمی ده!
نگو اشتباهی اينجا کذاشتم!
:))
ببخشيد!
خيلی باحال بود!
 
m_ziba گفت:
اما به هر حال اميدوارم مشکل شما حل شده باشه :)

به مرحمت شما دوست عزيز، آره مشكلم حل شد، اما يك سوال:

ON در يك Query چه معني ميده و چطور ميشه چك كرد كه ببينيم يك فيلد مقداري دارد يا نداره؟
 

جدیدترین ارسال ها

بالا