php - 填充表中的下拉菜单,然后从另一个表中设置所选选项

标签 php mysql

我有一个销售订单可以具有的订单状态表;状态不一定是连续的。我可以使用以下命令将这些状态放入下拉列表中:

$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 )。

任何和所有的建议都会很棒。谢谢。

最佳答案

只需添加一些逻辑来检查您正在处理的订单的状态。

$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>'; 

关于php - 填充表中的下拉菜单,然后从另一个表中设置所选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12430390/

相关文章:

mysql - 如何避免在 mysql 中外键有两个空值?

php - 获取一张表的所有数据,而另一张表为空且也应用where子句

mysql - 单独的 dbx 连接到线程

php - 复杂查询 - 获得最多推荐的人

php - 推特 API : Get Followers +99

php - 修改Mysql表中的字符串搜索

php - 使用 PHP 实现双向加密的最佳方法是什么?

c# - 访问SQL Server数据库的登录表单错误

php更新到mysql,数组不更新

php - 增量字符有效,但添加无效。为什么?