CodeIgniter:在控制器内部包含一个php脚本

时间:2018-07-09 09:58:14

标签: php codeigniter-3

我的控制器内部有一个将html元素输出到视图的函数。看起来就是这样。

public class LoginPresImplTest {
    LoginAPIInterface.LoginDataInteractor loginDataInteractorMock;
    LoginAPIInterface.LoginView loginViewMock;
    LoginPresImpl loginPres;
    @Before
    public void setUp(){
        loginDataInteractorMock = Mockito.mock(LoginAPIInterface.LoginDataInteractor.class);
        loginViewMock = Mockito.mock(LoginAPIInterface.LoginView.class);
        loginPres = Mockito.spy(LoginPresImpl.class);


    }
    @Test
    public void getLoginUpdateData() {
        loginPres.getLoginUpdateData("01","","");
        verify(loginPres).getLoginUpdateData("01","","");

    }

我的任务是,当单击删除按钮时,我需要包括一个php函数,到目前为止,这是我尝试过的事情:

function show_res() {
    $output = '';

    foreach($data->result() as $row) { 
        if($row->user_agency == $user_agency) {
            $output .= '
                <tr>
                    <td>'.$row->user_name.' '.$row->user_lname.'</td>
                    <td>'.$row->user_type.'</td>
                    <td>
                        <button>Edit</button>
                        <button>Delete</button>
                    </td>
                </tr>
            ';
        }
    }

    echo $output;
}

  if($row->user_agency == $user_agency) {
      $output .= '
               <tr>
                <td>'.$row->user_name.' '.$row->user_lname.'</td>
                <td>'.$row->user_type.'</td>
                <td>
                    <button>Edit</button>
                    <a href="<?php echo base_url().delete_c/delete_user/.$row->user_id; ?>">
                        <button>Delete</button>
                    </a>
                </td>
            </tr>
        ';
    }

第一个问题是整个

if($row->user_agency == $user_agency) { $output .= ' <tr> <td>'.$row->user_name.' '.$row->user_lname.'</td> <td>'.$row->user_type.'</td> <td> <button>Edit</button> <a href="'.echo base_url().'delete_c/delete_user/'.$row->user_id'"> <button>Delete</button> </a> </td> </tr> '; }

是作为字符串而不是php脚本添加的,因此当我单击按钮时,它将重定向到该URL

<?php echo base_url().delete_c/delete_user/.$row->user_id; ?>

对于第二个错误,它会导致内部错误,并导致状态码500

2 个答案:

答案 0 :(得分:1)

使用它。无需重新编写PHP启动文件,因为您已经启动了,忘记了.运算符。

<a href='.base_url().'delete_c/delete_user/'.$row->user_id.'> <button>Delete</button>
</a>

答案 1 :(得分:1)

以下代码应该可以使用。

<a class="btn" href='.base_url().'delete_c/delete_user/'.$row->user_id.'>
    Delete
</a>

500错误代码可能是导致您忘记将.放在字符串串联中的原因,或者可能是函数中使用的未定义变量。