PHP Controller函数在调用之前实例化

时间:2017-03-10 21:28:19

标签: php oop model-view-controller

我在引导模式上显示CRUD应用程序表单时出现问题。

当表单的编辑按钮发送“editId”post var时会出现问题,模式显示但是select标签的选项值显示在表单之外。

我的控制器看起来像这样:

public function editarUsuarioController(){
if (isset($_GET["editId"])) {       

    $dataController = $_GET["editId"];
    $data = Datos::editUserModel($dataController, "users");

    echo'<div id="editModal">
    <form method="post" role="form">
        <div class="form-group">
            <label for="roleEdit">Rol<span></span></label>
            <div class="input-group">
                <span class="input-group-addon">
                    <i class="fa fa-user"></i>
                </span>
                <select name="roleTypes" class="form-control">
                    <option selected>
                        '.$data["rols"].'
                    </option>
                    '.$editOptions = MainController::viewRolesController().'
                </select>                                       
            </div>
        </div>
        <div class="form-actions">
            <input type="submit" class="btn blue" value="Update">
            <button type="button" data-dismiss="modal" class="btn default">Cancel</button>
        </div>
    </form>
</div>';
}   }

正如您所看到的,我正在从另一个文件中实例化另一个控制器,该文件列出了可用的角色,如下所示:

public function viewRolesController(){

    $response= Datos::vistaRolesModel("roles");

    foreach($response as $row => $item){
        echo'<option value="'.$item["id"].'">'.$item["role"].'</option>';

    }

}

有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

我通过拆分echo并使用原始控制器中的变量来存储<button class="button button-assertive btn newbtn" ng-click="getStarted()">Let's Get Started</button> 模型函数带来的值来修复它,这是新的vistaRolesModel()控制器函数:

editarUsuarioController()

}