这是没有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
}
?>
答案 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;