我有一张销售订单可以拥有的订单状态表;状态不一定是顺序的。我可以使用以下内容将这些状态转换为下拉列表:
$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']
我搜索过(我认为是全面的)并且我没有找到可行的答案,或者 - 公平 - 我能理解的答案。
(我发现了一个与此类似的问题,但我不确定如何让他们详细说明...... selected item ind dropdown when editing)。
任何和所有建议都会很棒。感谢。
答案 0 :(得分:1)
只需输入一些逻辑,检查您正在处理的订单的状态。
$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>';
答案 1 :(得分:0)
只需标记order_status_id =应使用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>';