2016-11-17 9 views
1

私は何かを非常にシンプルにしようとしていますが、それを動作させることはできません。私はそれらを編集できるように、データベースからブートストラップモーダルウィンドウの詳細を読み込もうとしています。 :私のボタンはAjaxでデータベースから詳細をロードする

<button onclick="GetUserDetails('.$row['row_id'].')" class="btn btn-warning">Update</button> 

のように見えるそして、これは私が

{ "ROW_ID" 正しい応答を参照してくださいコンソール - > [ネットワーク上のデータに

include("../../misc/database.inc.php"); 


error_reporting(E_ALL); 
ini_set('display_errors', 1); 
$pdo = Database::connect(); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

if(isset($_POST['row_id']) && isset($_POST['row_id']) != "") { 

    $row_id = $_POST['row_id'];     
    $value = $pdo->prepare('SELECT row_id, row_content, row_email FROM excel_table WHERE row_id = ?'); 
    $value->bindParam(1, $id, PDO::PARAM_INT); 
    $value->execute(); 

    $response = array(); 

    if($value->rowCount() > 0){ 
     while ($rs = $value->fetch(PDO::FETCH_ASSOC)) { 
      $response = $row; 

     }     
    } 
    else 
    { 
     $response['status'] = 200; 
     $response['message'] = "Data not found!"; 
    } 
    echo json_encode($response); 
    //var_dump($_POST['row_id']); // return correct id 
} 

をロードする必要がありますPHPの一部であり、 "1"、 "row_content": "asd"、 "row_email": "sad"}

モーダルは、データが取り込まれていない理由は、負荷データは

function GetUserDetails(row_id) { 

    $("#row_id").val(row_id); 
    $.post("ajax/readUserDetails.php", { 
      row_id: row_id 
     }, 
     function (data, status) { 
      // PARSE json data 
      var excel_table = JSON.parse(data); 
      // Assing existing values to the modal popup fields 
      $("#row_content").val(excel_table.row_content); 
      $("#row_email").val(excel_table.row_email); 
     } 
    ); 
    // Open modal popup 
    $("#update_user_modal").modal("show"); 
} 

そして、これが私のモーダル

<div class="modal fade" id="update_user_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title" id="myModalLabel">Update</h4> 
      </div> 
      <div class="modal-body"> 

       <div class="form-group"> 
        <label for="row_content">Desc</label> 
        <input type="text" id="row_content" placeholder="Описание" class="form-control"/> 
       </div> 

       <div class="form-group"> 
        <label for="row_email">Email</label> 
        <input type="text" id="row_email" placeholder="Email" class="form-control"/> 
       </div> 

      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
       <button type="button" class="btn btn-primary" onclick="UpdateUserDetails()" >Save Changes</button> 
       <input type="hidden" id="row_id"> 
      </div> 
     </div> 
    </div> 
</div> 

です誰も教えてもらえますか?

+0

はい、ボタンの上に 'ROW_IDを提出:1 'と応答' { "ROW_ID": "1"、 "row_content": "ASD"、 "row_email": "悲しい"} ' –

+0

あなたをデバッグでしたコード? –

+0

私が知っていることを試しました。今のところ私はボタンクリックで送受信したものを見ることができます。私は何をデバッグできますか? –

答えて

2

私の推測では、ajax非同期呼び出しの終了後にモーダルを表示する必要があります。

function GetUserDetails(row_id) { 

    $("#row_id").val(row_id); 
    $.post("ajax/readUserDetails.php", { 
      row_id: row_id 
     }, 
     function (data, status) { 
      // PARSE json data 
      var excel_table = JSON.parse(data); 
      // Assing existing values to the modal popup fields 

      //add console.log to make sure you have some value 
      console.log('row_content: ' + excel_table.row_content); 

      $("#row_content").val(excel_table.row_content); 
      $("#row_email").val(excel_table.row_email); 

      // then add another to make sure you update it correctly. 
      console.log('#row_content: ' + $("#row_content").val()); 

      // Open modal popup AFTER YOU UPDATE 
      $("#update_user_modal").modal("show"); 
     } 
    );  
} 
+0

同じ結果です。コンソールの配列レスポンスは正しいです '{row_id:" 1 "、row_content:" asd "、row_email:" sad "}'しかしモーダルは空です –

+0

私はこのチュートリアルを使っていませんでした。私はpdo ...などを実装したいからです。http://www.itechempires.com/2016/03/php-mysql-crud-create-read-update-delete-operations-using-jquery/ –

+0

何が起きているのかを見るためにconsole.log。しかし、ビデオをチェックしてデバッグの仕方を知る必要があります。 –

関連する問題