在动态下拉选择菜单中写入IF语句会出现错误

时间:2019-07-15 01:53:19

标签: php html select dropdown

我想为动态生成的下拉菜单编写IF语句,但是我不断收到错误消息,或者它不仅仅能正常工作,我想做的是比较两个变量,以查看它们是否与数据库

$ loma =“ Asokoro”;

$ row ['locales'] 来自数据库的位置表

$ row ['locales'] =“ Asokoro”;

$ row ['locales'] =“ Dutse”;

$ row ['locales'] =“玛丽”;

$ row ['locales'] =“库克”;

这意味着如果 Asokoro $loma$row['locales'] =“ Asokoro”相匹配;选择它作为选项菜单

<select name="checkout_area_name" id="checkout_area_name" required>
    $query = "SELECT * FROM `locality` WHERE state_name = '$hi_state'";
    $sql = mysqli_query($con, $query) or die(mysqli_error($con, $query));
    $r = ' <option value="">Please Choose Locality</option>';
    ?>
    <?php
    while ( $row = mysqli_fetch_assoc($sql)) 
    {
        ?>
        <?php $r = $r . '<option value="'.$loma.'" if ("'.$loma.' == '.$row["locales"].'") selected="selected" >'.$row['locales'].'</option>'; ?>
        <?php
    }
    echo $r;    
    ?>
</select>

我正在尝试选择具有$loma$row['locales']匹配的选项菜单,但是我不断收到错误消息,或者当我console.log时,它不会产生我想要的结果。

1 个答案:

答案 0 :(得分:2)

您正在将php脚本输出为html标记,请尝试将代码更改为:

<select name="checkout_area_name" id="checkout_area_name" required>
  $query = "SELECT * FROM `locality` WHERE state_name = '$hi_state'"; $sql = mysqli_query($con, $query) or die(mysqli_error($con, $query)); $r = '
  <option value="">Please Choose Locality</option>'; ?>
  <?php
    while ( $row = mysqli_fetch_assoc($sql)) 
    {
      $r = $r . '<option value="'.$loma.'" '.(($loma==$row["locales"])?'selected':'').'>'.$row['locales'].'</option>';
    }
    echo $r;    
    ?>
</select>