現在、取り組んでいるのが下記の内容です。
DBの操作を行い、操作内容を表示したいのですが、どこが原因なのか切り分けや記述の仕方などがわからない、ご教授いただければと思います。
*申し訳ないですが、デバッグのやり方がわかっていません。
【内容】
使用ファイルは2点で()の目的で使用しています。
1、 form.php(フォーム入力画面、JavaScriptの記述、DBの取り出しものの表示)
2、 apply.php (DBへの命令)
フォーム画面から入力
DBに挿入登録(DBへ登録まではできています)
入力を行なったフォーム画面の下側にテーブルを作り、
その中にDBから選択したフィールドのみを表示する。
JavaScript,jQuery,sql
の3つコードを記載していますので、ご確認お願いします。
【form.php】DBのデータを表示
JavaScript
1$(window).load(function(){ 2 setList(); 3}); 4//登録データを一覧表示する 5function setList() { 6 var query = {}; 7 $.ajax({ 8 type :'POST', 9 url : 'request/apply.php?mode=list', 10 data :query, 11 dataType :'json' 12 }).done(function(data) { 13 //データが存在しない場合(null) 14 alert(data); 15 console.log(data); 16 17 if (data == null) { 18 $('#set_table_list').html('登録データはありません。'); 19 }else { 20 var content = ''; 21 $.each (data, function(i, obj) { 22 content += '<tr>' 23 24 +'<td>' + obj.category + '</td>' 25 +'<td>' + obj.price + '</td>' 26 +'<td>' + obj.company + '</td>' 27 +'<td>' + obj.id + '</td>' 28 +'<td>' + obj.manager + '</td>' 29 +'<td>' + obj.month; + '</td>' 30 +'<td><input type="button" value="編集" onClick="editData(' + obj.no + ');"></td>'//編集 31 +'<td><input type="button" value="終了" onClick="completData(' + obj.no + ');"></td>'//終了 32 +'<td><input type="button" value="削除" onClick="deleteData(' + obj.no + ');"></td>'//削除 33 +'</tr>'; 34 }); 35 $('#set_list').html(content); 36 } 37 }); 38}
【form.php】テーブルとしてDBの内容を表示
html
1 <div id="set_table_list"> 2 <table class="table table-bordered table-condensed"> 3 <thead> 4 <tr> 5 <td>No. </td> 6 <td>カテゴリー名</td> 7 <td>金額</td> 8 <td>会社</td> 9 <td>ID</td> 10 <td>担当者</td> 11 <td>月</td> 12 <td>編集</td> 13 <td>終了</td> 14 <td>削除</td> 15 </tr> 16 </thead> 17 <tbody id="set_list"> 18 </tbody> 19 </table> 20 </div> 21
【apply.php】DBサーバへの命令。switch文を使っています。
sql
1 case 'list' : 2 //データ取得する 3 $sql = <<<EOF 4 SELECT 5 sd_category, 6 sd_price, 7 sd_company, 8 sd_id, 9 sd_manager, 10 sd_month, 11 FROM 12 テーブル名 13 WHERE 14 del_flg = 0 15EOF; 16 //pdoクラスの変数$dbhが$sqlの値を$stmtに代入($sqlの値を$stmtという変数にする) 17 $stmt = $dbh->prepare($sql); 18 //プリペーアドステートメントを実行する。 19 $stmt->execute(); 20 21 $result = ""; 22 //プリペーアドステートメントの結果を取得(連想(ASSOC)配列で受け取る) 23 while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 24 $result .= $row['sd_category'] ."," .$row['sd_price'] ."," .$row['sd_company'] .$row['sd_id'] .$row['sd_manager'] .$row['sd_month'] ."<br>\n"; 25 } 26 //配列をJSON形式に変換して送信する 27 header('Content-type:application/json'); 28 echo json_encode($row); 29 break; 30コード