0

这是没有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
}
?>
4

1 回答 1

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;
于 2013-08-03T17:57:07.163 回答