Codeigniter问题与循环和条件

时间:2013-01-15 10:39:22

标签: php codeigniter loops conditional-statements

我正在加载像这样的视图

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行的网址中出现意外的T_ELSE

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

4 个答案:

答案 0 :(得分: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
} 

答案 1 :(得分: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
} 
?>

答案 2 :(得分:0)

使用开关,您可以更优雅地编写代码,当然也更快,请尝试:

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;
}

答案 3 :(得分:0)

你需要像这样使用codeigniter 循环

<?php foreach ($applications as $row):?>
     <option value = "<?php echo $row->id; ?>">
                    <?php echo $row->name; ?>
                </option> 
    <?php endforeach;?>