[英]How to select value from a drop-down list, get the corresponding values from another table, then put those into another drop-down list?
好的,這是一個數據庫。
http://i.stack.imgur.com/j05AB.png
假設我已將這些表中的每個表的值插入數據庫中,盡管ID會自動遞增。 每個AVALUE中都有許多BVALUE,因此是AB表。 我在下拉列表中具有表A的所有AVALUE。 用戶選擇一個AVALUE,我使用
$AVALUE = $_POST['AVALUE']
然后,我執行一條sql語句從表A中獲取等於$ AVALUE的AVALUE。
$sql = "SELECT AVALUE FROM TABLEA WHERE" . $AVALUE . " = AVALUE";
然后,我如何從TABLEA中獲得該AVALUE的NAMEID,然后從TABLEA中引用AB,其中TABLEANAMEID = NAMEID? 然后,我想通過獲取與TABLEANAMEID對應的所有TABLEBNAMEID來獲取所有BVALUES。
然后,我希望這些BVALUES在單獨的HTML頁面上的下拉列表中。 經過一番谷歌搜索的解決方案后,我認為將進行某種循環,將BVALUES放入變量中,因為表B中的所有NAMEID都會遞增,其中變量將在$ BVALUE循環中,並且列表值將與所有變量一起顯示BVALUES。
我希望我能解釋正確。 我想我知道我要做什么,但我不知道如何實際實施。 請幫助大家。
您需要將這些表連接在一起。 您要描述的是一個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
也許您的意思是,您想獲取與表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>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.