使用if/then语句填充php下拉菜单


Using an if/then statement to populate a php dropdown menu

我正在构建一个由php范围的数字填充的下拉菜单。到目前为止,我的代码是有效的。到目前为止,我是这样写的:

      <?php
    echo "<select name='Strength_Pts2' id='Strength_Pts2'>";
    foreach($PotRange as $AttributesAvailable) 
    {
        echo "<option value='$AttributesAvialabe'>$AttributesAvailable</option>";
    }
    echo "</select>";
?>

现在,我想在菜单中添加一个If/Then条件,这样在某些情况下,用户只能获得"0"选项,而不是整个范围。这是我编码的:

         <?php
    echo "<select name='Strength_Pts2' id='Strength_Pts2'>";
    if ( 1 == 1 ) {
foreach($PotRange as $AttributesAvailable) 
    {
        echo "<option value='$AttributesAvialabe'>$AttributesAvailable</option>";
    }
    else
echo "<option value='0'>0</option>";
}
echo "</select>";
?> 

我试过带和不带;最后一个}之后。我得到解析错误:语法错误,第531行出现意外的T_ELSE。

有人能帮我解决我做错的事吗?

提前感谢,-CB

您忘记了一些大括号,请使用以下内容:

<?php
  echo "<select name='Strength_Pts2' id='Strength_Pts2'>";
    if ( 1 == 1 ) {
      foreach($PotRange as $AttributesAvailable) {
        echo "<option value='$AttributesAvialabe'>$AttributesAvailable</option>";
      }
    } else {
      echo "<option value='0'>0</option>";
    }
  echo "</select>";
?> 

在else后面缺少一个左大括号。

更改为:

<?php
echo "<select name='Strength_Pts2' id='Strength_Pts2'>";
if ( 1 == 1 ) {
  foreach($PotRange as $AttributesAvailable) 
   {
        echo "<option value='$AttributesAvialabe'>$AttributesAvailable</option>";
    }
    else
}
{
    echo "<option value='0'>0</option>";
}
echo "</select>";
?> 

if语句缺少一个右括号:

....
if ( 1 == 1 ) {
    foreach($PotRange as $AttributesAvailable) 
    {
        echo "<option value='$AttributesAvialabe'>$AttributesAvailable</option>";
    }
}else //you were missing closing brace here
.... 
if (...) {
    foreach (...) {
        ...
    }
} else {
    ...
}

您缺少if块的}

您的代码样式不好,并且您的花括号有问题

      <?php
    echo "<select name='Strength_Pts2' id='Strength_Pts2'>";
    if ( 1 == 1 ) {
        foreach($PotRange as $AttributesAvailable) 
        {
               echo "<option value='$AttributesAvialabe'>$AttributesAvailable</option>";
        }
    }
    else
    {
      echo "<option value='0'>0</option>";
    }
    echo "</select>";

?>

我建议您使用制表符缩进来获得样式良好且可读的代码