2017-03-10 26 views
-1

ブートストラップモーダルに表示されるCRUDアプリケーションフォームに問題があります。PHPコントローラ関数が呼び出される前にインスタンス化される

フォームの編集ボタンが "editId" post varを送信すると、問題が発生します。モーダルが表示されますが、selectタグのオプションの値はフォームの外に表示されます。

私のコントローラは、次のようになります。

public function viewRolesController(){ 

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

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

    } 

} 

任意の提案:あなたが見ることができるように

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

は、私は次のようになります使用可能なロールを一覧表示し、別のファイルから別のコントローラをインスタンス化していますか?

答えて

-1

私は、これが新しいeditarUsuarioController()コントローラ機能であるエコーを分割し、vistaRolesModel()モデル関数によってもたらされる値を格納するために、元のコントローラの内部変数を使用してそれを修正:

public function editarUsuarioController(){ 
if (isset($_GET["editId"])) { 
    $dataController = $_GET["editId"]; 
    $data = Datos::editUserModel($dataController, "users"); 
    $roles = Datos::vistaRolesModel("roles"); 
    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> 
         '; 
         foreach($roles as $row => $item){ 
          echo'<option value="'.$item["id"].'">'.$item["role"].'</option>'; 
         } 
         echo' 
        </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> 
    '; 
} 

}

関連する問題