我有一个表schedules
其中包含sched_id, sc_id1, sc_id2, sc_id3, sc_id4, sc_id5, sc_id6, sc_id7, sc_id8, sc_id9, sc_id10, sched_name
。使用不同值循环查询
我也曾经有sc_id, sl_id, schoolyear, semister, etc...
sc_id1 - scid10
表subject_current
是一个“外键”表的sc_id
subject_current
另外,我有一个表subject_list
与sl_id, subject_code, subject_description, subject_prereq
。来自表subject_current
的sl_id
是来自sl_id
的table
subject_list
的“外键”。
现在,我想要做的是“回声”的subject_description
从表subject_list
只给我的sc_id1 - sc_id10
从表schedules
值。
此代码不起作用:
for($jaa = 1;$jaa < 11;$jaa++){
$s_scid = "s_scid".$jaa;
$s_sublist = mysql_query("SELECT * FROM subject_current WHERE sc_id='$s_scid'");
while($rows_ss = mysql_fetch_assoc($s_sublist)){
$ss_slid = $rows_ss['sl_id'];
$ssl_sublist = mysql_query("SELECT * FROM subject_list WHERE sl_id='$ss_slid'");
while($rows_ssl = mysql_fetch_assoc($ssl_sublist)){
$ssl_slid = $rows_ssl['sl_id'];
$ssl_subdesc = $rows_ssl['subject_description'];
}
}
echo $ssl_subdesc;
}
编辑
这是我想究竟发生:
$s_scid1 = $rows_s['sc_id1']; // which is a value of 1
$s_scid2 = $rows_s['sc_id2']; // which is a value of 2
$s_sublist = mysql_query("SELECT * FROM subject_current WHERE sc_id='$s_scid1'");
while($rows_ss = mysql_fetch_assoc($s_sublist)){
$ss_slid1 = $rows_ss['sl_id'];
$ssl_sublist = mysql_query("SELECT * FROM subject_list WHERE sl_id='$ss_slid1'");
while($rows_ssl = mysql_fetch_assoc($ssl_sublist)){
$ssl_slid1 = $rows_ssl['sl_id'];
$ssl_subdesc1 = $rows_ssl['subject_description'];
echo $ssl_subdesc1;
}
}
$s_sublist2 = mysql_query("SELECT * FROM subject_current WHERE sc_id='$s_scid2'");
while($rows_ss2 = mysql_fetch_assoc($s_sublist2)){
$ss_slid2 = $rows_ss2['sl_id'];
$ssl_sublist2 = mysql_query("SELECT * FROM subject_list WHERE sl_id='$ss_slid2'");
while($rows_ssl2 = mysql_fetch_assoc($ssl_sublist2)){
$ssl_slid2 = $rows_ssl2['sl_id'];
$ssl_subdesc2 = $rows_ssl2['subject_description'];
echo $ssl_subdesc2;
}
}
这是一个痛苦写10倍。所以我想循环它。但有人告诉我这很糟糕,并告诉我关于INNER JOIN
。但我怎么能用INNER JOIN
?
你为什么不使用内部连接和获取的,而不是调用查询多次的记录? – SMA 2014-11-23 09:57:31
你的意思是“代码不起作用”?你会得到一个错误或意想不到的结果?请更具体。 – Ashalynd 2014-11-23 09:57:32
另外,这条线的含义是什么?对我来说看起来很奇怪。 '$ s_scid =“$”。“s_scid”。$ jaa;' – Ashalynd 2014-11-23 09:59:27