好的,这是一个数据库。
http://i.stack.imgur.com/j05AB.png
假设我已经为这些表中的每个表插入了数据库值,尽管ID会自动递增。每个AVALUE都有许多BVALUES,因此是AB表。我在表A的所有AVALUE中都有一个下拉列表。用户选择我使用
放入变量的AVALUE$AVALUE = $_POST['AVALUE']
然后我做一个sql语句来从表A中获取等于$ AVALUE的AVALUE。
$sql = "SELECT AVALUE FROM TABLEA WHERE" . $AVALUE . " = AVALUE";
如何从TABLEA获取该AVALUE的NAMEID,然后引用AB,其中TABLEANAMEID =来自TABLEA的NAMEID?然后我希望通过获取与TABLEANAMEID对应的所有TABLEBNAMEID来获取所有BVALUES。
然后,我想将这些BVALUES放在单独的HTML页面上的下拉列表中。在谷歌搜索之后,我认为解决方案是做一些循环将BVALUES放入变量,因为表B中的所有NAMEID都会增加变量将在$ BVALUE循环中的位置,并且列表值将显示在所有BVALUES。
我希望我解释说得对。我想我知道我想要做什么,但我不知道如何实际实现它。请帮帮我们。
答案 0 :(得分:0)
您需要将这些表连接在一起。你所描述的是m:n关系。在这种情况下,你可以使用这样的2个连接:
SELECT * FROM TableA AS a WHERE a.avalue = $AVALUE
JOIN TableAB AS a2b ON a.namevalue = a2b.id_a
JOIN TableB AS b ON a2b.id_b = b.id
答案 1 :(得分:0)
也许你的意思是,你想获得与表AB中所选AVALUE有关系的所有BVALUE
$sql = "SELECT B.NAMEID as id, BVALUE as value FROM TABLEA A
LEFT JOIN AB ON TABLEANAMEID=A.NAMEID
LEFT JOIN TABLEB B ON TABLEBNAMEID=B.NAMEID
WHERE AVALUE = $AVALUE";`
获取mysql结果
$result = mysql_query($sql);
迭代
echo "<select>";
foreach ($r = mysql_fetch_object($result)) {
echo '<option value="'.$r->id.'">'.$r->value.'</option>';
}
echo "</select>";