【问题标题】:Using ternary for ifelse statement in php在 php 中使用三元作为 if else 语句
【发布时间】:2015-11-10 04:23:34
【问题描述】:

我正在尝试使用 PHP 从 MySQL 数据库中创建一个包含选项的选择列表,记住最后的输入。我已经了解了here 在使用 php 提交后如何将值保存在表单中(第二个答案),它适用于带有是/否选项的选择。

现在我正在尝试将其实现到具有生成选项的选择中。在我遇到 if 语句错误后,我了解到 here 我可以使用三元运算符来解决问题,但它似乎不起作用。我不断收到错误,例如 --parse 错误、意外的 '.'--

我的代码是:

<select name="reeks" onchange="this.form.submit()">
  <option value= "0" style="display:none;" selected="" disabled=""> Reeks </option>
  <?php 
    $sql = "SELECT * FROM reeks";

    $result = (mysql_query($sql));

    while ($row = mysql_fetch_array( $result )){
        $reeks = $row['reeks'];
        echo '<option '. ($_GET['reeks'] == 'ja') ? .'selected="'. $reeks. '" '. ; .' name="reeks">'. $reeks . '</option>';
    }
  ?>
</select>

这是/否选择的代码如下所示

<option <?php if ($_GET['reeks'] == ''. $reeks. '') { ?>selected="'. $reeks. '" <?php }; ?> name="reeks" value="ja">Ja</option>

【问题讨论】:

  • 三元运算符的正确语法包括:我在你的代码中没有看到。
  • 如果你还在为语法错误而磕磕绊绊,那么你最不想引入的就是三元比较。

标签: php ternary-operator


【解决方案1】:
<option <?php if ($_GET['reeks'] == ''. $reeks. '') { ?>selected="'. $reeks. '" <?php }; ?> name="reeks" value="ja">Ja</option>

应该是-

<option <?php $_GET['reeks'] == ''.$reeks.'' ? echo 'selected=" '. $reeks. '" : else_part_comes_here; ?> name="reeks" value="ja">Ja</option>

【讨论】:

  • 稍微解释一下可能会有所帮助。什么问题,你的解决方案是什么,它是如何解决问题的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
相关资源
最近更新 更多