0

reg.php という名前のフォームがあり、そのアクションは reg.php です。送信をクリックしたときに選択したドロップダウン値を選択したままにしたいのですが、これまでに行ったことを以下に示します

投稿された質問を確認しましたが、コードと一致しませんでした

<?php
if( $_POST['registerbtn']){
$selected_value = $_POST['selectID'];
$query = mysql_query("SELECT  linecard_name FROM selection WHERE select_id = '$selected_value'");
$rows=mysql_fetch_assoc($query); 
$linecard_name= $rows['linecard_name'];
$sql = "SELECT select_id, linecard_name FROM selection " . "ORDER BY linecard_name";
$rs = mysql_query($sql);

while($rownw = mysql_fetch_array($rs)){
if(  $rownw['linecard_name'] == $linecard_name)  {
$options = "<option  selected =selected  value=".$rownw['select_id']."> " .$rownw['linecard_name']. " </option> ";
}
}
}

require("./connect.php");
$sql = "SELECT select_id, linecard_name FROM selection ". "ORDER BY linecard_name";
$rs = mysql_query($sql);
while($rownw = mysql_fetch_array($rs)){
$options .= "<option value = ".$rownw['select_id']." > ".$rownw['linecard_name']. " </option> ";
} 
mysql_close() ;

$form = "<form action='./reg.php'  method='post'> 
<table>
<tr>
<td>  </td>
<td>  <font color='red'> $errormsg </font> </td> 
</tr>

<tr>
<td> Select  Linecard </td> 
<td> <Select name='selectID' >  <option value = '0'>  Select  from here </option> $options  </select></td> 
</tr>

<tr> 
<td  > <input type='submit' name='registerbtn' value='Register' />   </td> 
</tr> 
</table> 
echo $form;

登録ボタンがクリックされる前の選択ステートメントは、データベースからドロップダウンを埋めるためのものです。特定の選択がユーザーによって行われ、登録ボタンがクリックされたときに、選択したアイテムが選択されたままになるようにしたいだけです。その場合、私のコードはドロップダウンを埋めますもう一度、ユーザーが選択したアイテムを選択した状態で、ドロップダウンに入力された以前のアイテムをクリアせずに、つまり登録ボタンをクリックする前に、助けてください

4

1 に答える 1

1

次のように、変数を使用して行うのが最もクリーンであることがわかりました。

while($rownw = mysql_fetch_array($rs)){
  $selected = '';
  if ($rownw['select_id'] == $selected_value){
    $selected = 'selected="selected"';
  }
  $options .= "<option value = ".$rownw['select_id']." $selected > ".$rownw['linecard_name']. " </option> ";
}
于 2012-06-15T05:09:30.043 に答える