0

販売注文の注文ステータスの表があります。ステータスは必ずしも連続しているとは限りません。以下を使用して、これらのステータスをドロップダウンに取得できます。

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

DB から注文データをフェッチして、ドロップダウン リストをその注文のステータスに設定しようとすると、問題が発生します。クエリを実行して、選択する必要がある注文ステータスを取得できますが、この情報を適用する方法をコーディングする方法がわかりません。注文ステータス ID を取得するクエリは次のとおりです。

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

私は検索しましたが(包括的に考えています)、実行可能な答え、または公平を期すために理解できる答えが見つかりませんでした。

(これに似た質問を見つけましたが、それらを詳しく説明する方法がわかりません...編集時に選択されたアイテムとドロップダウン)。

あらゆるアドバイスは素晴らしいでしょう。ありがとう。

4

2 に答える 2

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>'; 
于 2012-09-14T19:03:09.050 に答える
0

order_status_id = で選択する必要がある id のオプションをマークするだけselectedです。例えば。選択されるオプションは次のようになります<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>';
于 2012-09-14T18:59:39.873 に答える