簡體   English   中英

從一個表中填充一個下拉菜單,然后從另一個表中設置所選選項

[英]populate a drop down from a table and then set the selected option from another table

我有一張銷售訂單可以擁有的訂單狀態表; 狀態不一定是順序的。 我可以使用以下方法將這些狀態放入下拉列表中:

$sql1 = 'SELECT * FROM `mjj_order_status` ORDER BY Order_status_name DESC';
$result_order_status = mysql_query($sql1);

echo '<select name="Order_status">';
while ($row = mysql_fetch_array($result_order_status)) {
    echo '<option
    value="'.$row['Order_status_ID'].'">'.$row['Order_status_name'].'</option>';
}
echo '</select>';

當我嘗試從數據庫中獲取訂單數據,然后將下拉列表設置為該訂單的狀態時,會發生我的問題。 我可以運行查詢來獲取應該選擇的訂單狀態,但是不確定如何編寫如何應用此信息的代碼。 獲取訂單狀態ID的查詢為:

SELECT Order_status FROM `mjj_orders` WHERE Order_ID = $_POST['Order_ID']

我進行了搜索(綜合考慮),但沒有找到可行的答案,或者-公平地說-我可以理解的答案。

(我發現了一個與此問題類似的問題,但是我不確定如何讓他們詳細說明... 編輯時選擇的項目ind下拉列表 )。

任何和所有建議都是很好的。 謝謝。

只需加入一些邏輯來檢查您正在處理的訂單的狀態。

$sql = "SELECT Order_status FROM 'mjj_orders' WHERE Order_ID = ".$_POST['Order_ID']; 
$result=mysql_query($sql); 
$myorder=mysql_fetch_array($result);

$sql1 = 'SELECT * FROM `mjj_order_status` ORDER BY Order_status_name DESC'; 
$result_order_status = mysql_query($sql1); 

echo '<select name="Order_status">'; 
while ($row = mysql_fetch_array($result_order_status)) { 
    if($myorder['Order_status']==$row['Order_status_ID']){
        $selectCurrent=' selected';
    }else{
        $selectCurrent='';
    }
    echo '<option value="'.$row['Order_status_ID'].'" '.$selectCurrent.'>'.$row['Order_status_name'].'</option>';
} 
echo '</select>'; 

只需將選項標記為order_status_id =應該與selected一起selected的id。 例如。 將要選擇的選項將如下所示: <option selected value="...如下所示:

$id_to_select = // Your logic to get the id to select

$sql1 = 'SELECT * FROM `mjj_order_status` ORDER BY Order_status_name DESC';
$result_order_status = mysql_query($sql1);

echo '<select name="Order_status">';
while ($row = mysql_fetch_array($result_order_status)) {
  if($id_to_select == $row['Order_status_ID'])
    echo '<option selected value="'.$row['Order_status_ID'].'">'.$row['Order_status_name'].'</option>';
  else     
    echo '<option value="'.$row['Order_status_ID'].'">'.$row['Order_status_name'].'</option>';
}
echo '</select>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM