چطور ميتونم از دوتا query يه جا استفاده كنم

Mikhak

Active Member
سلام
ميخواستم از دوتا query يه جا استفاده كنم يعني ميخوام از دوتا جدول توي يه تابع فيلد بخونم
------------------
سينا
 

oxygenws

Active Member
می تونی هر دو تا کویری ات رو هم اینجا بنویسی؟؟
من برات تلفیقشون می کنم (اگر بشه :) )
 

oxygenws

Active Member
از اونجایی که نوشته می خواد از دو تا جدول استفاده کنه، می تونه از join استفاده نکنه. به هر حال بستگی به کویری ایشون داره.
 

Mikhak

Active Member
يكيش اينه

کد:
 $result = $db->sql_query("SELECT st_num, st_name, st_fam, st_father, st_id, st_sodoor, st_birth, st_bm, st_bd, st_snum, st_level from " . $user_prefix . "_webclass where st_id='$ch_user'");
    $numrows = $db->sql_numrows($result);
    if($numrows > 0) {
        $row = $db->sql_fetchrow($result);
	//$chng_uid = intval($row['st_num']);
	$chng_stnum = $row['st_num'];
	$chng_stname = $row['st_name'];
	$chng_stfam = $row['st_fam'];
	$chng_stfather = $row['st_father'];
	$chng_stid = $row['st_id'];
	$chng_stsodoor = $row['st_sodoor'];
	$chng_stbirth = $row['st_birth'];
	$chng_stbm = $row['st_bm'];
	$chng_stbd = $row['st_bd'];
	$chng_stsnum = $row['st_snum'];
	$chng_stlevel = $row['st_level'];
و اما اون يكي
کد:
$result = $db->sql_query("SELECT n_dquran, n_motoon from " . $user_prefix . "_" . $tbname . " where st_id='$ch_user'");
    $numrows = $db->sql_numrows($result);
    if($numrows > 0) {
        $row = $db->sql_fetchrow($result);
	$chng_ndquran = $row['n_dquran'];
	$chng_nmotoon = $row['n_motoon'];

حالا چطوري ميتونم دومي رو درست بعد از اولي استفاده كنم يا اينكه دومي رو توي اولي اجرا كنم ؟
---------------
سينا
 

oxygenws

Active Member
کویری هات هم که مثل آدم نیست :wink:

من یه مثال برات می زنم، خودت ردیفش کن:
کویری اول:
کد:
select a1, b1, c1 from table1 where a1=1 and b1=1 and c1=1

کویری دوم:
کد:
select a2, b2, c2 from table2 where a2=2 and b2=2 and c2=2

تلفیق خلاصه:
کد:
select a1, b1, c1, a2, b2, c2 from table1, table2 where a1=1 and b1=1 and c1=1 and a2=2 and b2=2 and c2=2

تلفیق مفصل:
کد:
select table1.a1, table1.b1,table1. c1, table2.a2, table2.b2, table2.c2 from table1, table2 where table1.a1=1 and table1.b1=1 and table1.c1=1 and table2.a2=2 and table2.b2=2 and table2.c2=2

موفق باشید، امید
 

oxygenws

Active Member
راستی یادم رفت بگم، روش فوق برای هر نوع تلفیقی خوب کار نمی کنه. مسلما باید همخونی ای بین جداول باشه که از چنین تلفیقی استفاده کنی.

این روش بیشتر برای ربط دادن جداول و گرفتن خروجی مشترک از دو جدول (این دو جدول با یه کلید به هم مربوط هستند) کاربرد داره.

مثلا یکی از شروط بالا رو به شکل زیر تغییر بدی:
کد:
where table1.a1=table2.a2

موفق باشید، امید
 

Mikhak

Active Member
اميد جان من نوكرتم خيلي باهالي اينم ياد گرفتم مرسي ولي جون هر كي دوست دارسي بيا اين ليست گرفت از databse رو هم به ما ياد بده مرگ من بيا ياد بده من رفتم دنباله اون چيزي كه گفته بودي گشتم ولي به خدا خيلي در هم رفتست بابا مدير انجمن واسه يه همچين موقعيت هايي به درد آدم ميخوره ديگه؟
بازم مرسي
----------------
سينا
 

Mikhak

Active Member
بس چرا نشود ؟

ديگه كويري آدمتر از اين پيدا نكردم
اولش اينجوري بود
کد:
$result = $db->sql_query("SELECT st_num, st_name from nuke_num_mehr where st_id='$username' and st_num='$password'");
    $numrows = $db->sql_numrows($result);
    if($numrows > 0) {
        $row = $db->sql_fetchrow($result);
	$n_stnum = $row['st_num'];
	$n_stname = $row['st_name'];
اين درست كار ميكرد:)
ولي وقتي خواستم گفته شما رو تست كنم اصلا تلفيقم نكنم فقط تست كنم :(
يعني اينجوريش كنم .
کد:
$result = $db->sql_query("SELECT num_mehr.st_num, num_mehr.st_name from nuke_num_mehr where num_mehr.st_id='$username' and num_mehr.st_num='$password'");
    $numrows = $db->sql_numrows($result);
    if($numrows > 0) {
        $row = $db->sql_fetchrow($result);
	$n_stnum = $row['st_num'];
	$n_stname = $row['st_name'];
ولي اينبار جواب نداد :( يعني اشكالش از چيه؟
 

oxygenws

Active Member
اسم جدول شما nuke_num_mehr هستش اما شما همه جا نوشتید num_mehr

موفق باشید، امید
 

Mikhak

Active Member
همونيكه تو صفحه قبل گفتم ديگه ليست گرفتن از ديتا بيس
---------------
سينا
 

Mikhak

Active Member
نه به اين تاپيك مربوط نيست ولي يه تاپيك واسه خودش زده بودم گفتين برو خودت ياد بگير بابا يكي يه جايي گير كنه سراغه كيرو بگيره ... سراغه مديره انجمن رو
اي ول عجب حرف باهالي بود
شما نگا كن اگه گفتي يه تاپيك جدا واسش بزنم
--------------
سينا
 

oxygenws

Active Member
من می دونم تاپیک جدا زدی، پس بهتره سوالت رو همونجا بپرسی و محل گیر ات رو همونجا توضیح بدی :)

به هر حال از خوندن اون همه مطلب انگلیسی ۴ کلمه فهمیدی.
 

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

بالا