PDA

View Full Version : مشکل در ارتباط جداول



hemathemat
جمعه 20 تیر 1393, 10:45 صبح
با سلام

من در php my admin چهار جدوا ایجاد کرده ام

1.vorod
2.taahod
3.nazarsar
4.nazaros

در این 4 جدول کلید اصلی shd هست اما از phpmyadmin ارتباطی ایجاد نکرده ام

من می خواهم دستوری بنویسم که اگر در جدول taahod فیلد reshteh برابر 'computer' بود اطلاعاتی رو از این چهار جدول انتخاب کند

دستوری رو نوشته ام که در پایین قرار میدم


$r1=mysql_query("select shd,name,family,ostad,taahodd,nazar,nazarost,resht eh,magh,sherkat from taahod,vorod,nazarsar,nazaros where taahod.reshteh='computer' ");
$n=mysql_num_rows($r1);

آیا احتیاجه که در phpmy admin بین جداول ارتباط برقرار کنم و اگر احتیاجه به چه صورت چون در myadmin دیدم دو نوع میشه ارتباط برقرار کرد ارتباط داخلی و کلید خارجی.

و آیا دستو بالا صحیح است.

با تشکر

miladamirzadeh
جمعه 20 تیر 1393, 11:56 صبح
برای مدیریت داده ها و افزایش بازدهی Join ها بهتر است از کلیدهای خارجی استفاده کنی. اما بدون این کلیدها نیز دیتابیس کار خودش را انجام میدهد. دستوری رو که در بالا نوشتی فکر می کنم کمی ایراد دارد. شما چهار جدول را با هم Join میزنی اما شرطی برای ارتباط جدول ها با هم تعریف نکرده ای. من ساختار جداول شما را دقیقاً نمی دانم اما بهتر است از استاندارد زیر برای واکشی داده از چند جدول استفاده کنی. مثلاً:



SELECT shd,name,family,ostad,taahodd,nazar,nazarost,resht eh,magh,sherkat
from taahod
JOIN vorod ON(taahod.key_field=vorod.key_field)
JOIN nazarsar ON(...)
JOIN nazaros ON(...)
WHERE taahod.reshteh='computer'