Php下拉菜单。如果mysql中存在value,则它是下拉菜单中的选定值

时间:2013-08-03 17:36:52

标签: php drop-down-menu foreach

这是没有mysql的代码

foreach ( $transaction_type as $i1=>$opt1 ) : 
echo '<option value="' .htmlspecialchars($opt1) .'"' .( 
(
htmlspecialchars($opt1) == htmlspecialchars($_POST['transaction_type'][$i])
)
? 'selected' : "" ) .'>'.htmlspecialchars($opt1) .'</option>';
endforeach;

尝试修改。如果在mysql中某些字段存在值,则mysql中的值是所选值。否则,回复与上面的代码相同。

更新

以下代码至少对我来说更容易理解。一切正常。

foreach ( $transaction_type as $i1=>$opt1 ) {
?>

<option value="<?php echo htmlspecialchars($opt1);?>"
<?php 
if (
($opt1 == $_POST['transaction_type'][$i]) OR ($opt1 == $result[VatReturnTransactionType01])
}
{
echo 'selected';
}
?> >

<?php echo htmlspecialchars($opt1); ?>

</option>

<?php
}
?>

1 个答案:

答案 0 :(得分:1)

很难阅读..可能会有一个额外的支架或支架丢失,但......

foreach ( $transaction_type as $i => $opt1 ) : 
    $option = '<option value="' .htmlspecialchars($opt1) .'"';

   if(($result[VatReturnTransactionType01] != '' AND 
       htmlspecialchars($opt1) == htmlspecialchars($result[VatReturnTransactionType01]))
       OR htmlspecialchars($opt1) == htmlspecialchars($_POST['transaction_type'][$i]))
   {
       $option .= 'selected';
   }

   $option .= '>'.htmlspecialchars($opt1) .'</option>';
endforeach;