0

我正在加载这样的视图

if($type == 'view'){
 // do something
}else if($type == 'insert'){
   // Here i am making a form
?>
    <select>  
    <?php 
        foreach($applications as $row)
        {
            ?>
            <option value = "<?php echo $row->id;?>">
                <?php echo $row->name;?>
            </option>  
       <?php } ?>
    </select>  
<?
}else{
    //do some thing else
} 

现在这是我遇到的错误:

解析错误:语法错误,第 xx 行的 url 中出现意外的 T_ELSE

奇怪的是,如果我注释掉循环 if 工作正常。问题是什么?如何解决?

4

4 回答 4

0

它对我来说很好......再试一次

<?php

if($type == 'view'){
 // do something
}else if($type == 'insert'){
   // Here i am making a form
?>
<select>  
   <?
   foreach($applications as $row){
   ?><option value = "<?php echo $row->id;?>"><?php echo $row->name;?></option>  
   <?php
   }
   ?>
</select>  
<?
}else{
    //do some thing else
} 
于 2013-01-15T10:53:04.550 回答
0

也许你想要这样的代码:

<?php
if ($type == 'view')
{
    // do something
}
elseif ($type == 'insert')
{
    // Here i am making a form
?>
    <select>  
<?php
    foreach($applications as $row)
    {
?>
    <option value = "<?php echo $row->id;?>"><?php echo $row->name;?></option>
<?php
    }
?>
    </select>  
<?php
}
else
{
    //do some thing else
} 
?>
于 2013-01-15T10:58:47.830 回答
0

使用 switch,你有一个更优雅的代码编写方式,当然更快,尝试:

switch($type){
 case 'view':
  //do something
 break;

 case 'insert':
  echo '<select>';
     foreach($applications as $row){
      echo '<option value="'.$row->id.'">'.$row->name.'</option>';
     }
  echo '</select>';
 break;

 default:
  //do something else
 break;
}
于 2013-01-15T12:24:10.187 回答
0

您需要以这样的方式使用 codeigniter 循环

<?php foreach ($applications as $row):?>
     <option value = "<?php echo $row->id; ?>">
                    <?php echo $row->name; ?>
                </option> 
    <?php endforeach;?>
于 2013-01-15T13:51:28.070 回答