0

私のphp関数はクエリを実行し、データをグリッドに表示します。ユーザーが特定の行を編集する場合にクリックするボタンを添付しました。その行のデータは、mytable というデータベース テーブルから呼び出されており、メイン カラムは pk_tId です。

クリックされた行を取得し、行データをブートストラップ モーダル ウィンドウに表示する方法を理解しようとしています。

このコードはすべて、edit.php という 1 つのファイルにあります。それを切り刻んで別のファイルに入れ、後で含める方法を見つけようとしますが、当面は、すべてがこの 1 つのファイルに含まれています。

edit.php ファイルでは、ページの上部近くにデータベース接続が含まれています。あなたがそれを見る必要がないことを本当に願っています。データベースへの安定した接続があることを知っておいてください。

以前にすべてのコードを表示するように求められたので、ここで... php 関数から始めます。

 <?php
 function displayrecords(){
   $groups = $_POST['mygroup'];
   $type = $_POST['mytype'];
   $service = $_POST['myservice'];
   $sql_json = "SELECT * FROM mytable";
   $where = "";
   if ($groups != ""){
       $where = " `mygroup` = '".mysql_real_escape_string($groups)."'";
     }
   if($type != ""){
     if( $where != "" ) $where .= " AND ";
     $where .= " `mytype` = '".mysql_real_escape_string($type)."'";
   }
   if($service != ""){  
     if( $where != "" ) $where .= " AND ";
     $where .= " `myservice` = '".mysql_real_escape_string($service)."'";
   }
   if ($where != "") $sql_json = $sql_json . " WHERE " . $where . " AND delete_flag = 'N';";
   $QueryResult = @mysql_query($sql_json) or die (mysql_error());
     echo "<table class='table table-striped table-bordered table-hover'>\n";
     echo "<tr><th>Delete/Edit</th>" . "<th>Group</th><th>Type</th>" . "<th>Service</th>" . "<th>Description</th></tr>\n";
     while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE) {
     echo "<tr><td><a class=\"modalInput btn btn-primary btn-mini\" data-toggle=\"modal\" href=\"#myEditModal?". $Row['pk_tId'] ."\" \">Delete/Edit</a></td>";
     echo "<td>{$Row[mygroup]}</td>";
     echo "<td>{$Row[mytype]}</td>";
     echo "<td>{$Row[myservice]}</td>";
     echo "<td>{$Row[mydescription]}</td></tr>\n";
     };
     echo "</table>\n";
     if (mysql_num_rows($QueryResult) == 0){
       echo "No results";
     }
 }
 ?>

コードが多すぎて申し訳ありませんが、すべてのコードを含めるように提案されました。これは、php コードに [編集] ボタンを追加した場所です。これがすべての始まりだと思います:

 echo "<tr><td><a class=\"modalInput btn btn-primary btn-mini\" data-toggle=\"modal\" href=\"#myEditModal?". $Row['pk_tId'] ."\" \">Delete/Edit</a></td>";

行データを取り込む必要があるモーダル ウィンドウを次に示します。

 <div class="modal hide fade" id="myEditModal" tabindex="-1" role="dialog" aria-labelleby="myModalLabel" aria-hidden="true">
    <form class="well-small" action="edit.php" method="POST" id="modalForm" name="modalForm">
       <input type="text" id="group" name="group" value="<?php echo $selection[mygroup]; ?>" />
       <input type="text" id="type" name="type" value="<?php echo $selection[mytype]; ?>" /> 
       <input type="text" id="service" name="service" value="<?php echo $selection[myservice]; ?>" /> 
       <textarea rows="4" cols="20" id="description" name="description" value="<?php echo $selection[mydescription]; ?>"></textarea> 
       <input type="submit" id="modal-form-submit" name="submit" class="btn btn-primary" href="#" value="Update" />
       <input type="submit" id="modal-form-submit" name="submit" class="btn btn-primary" href="#" value="Delete" /> 
    </form>
 </div>

JavaScript関数が必要なのはわかっているので、ヘッダータグ内のedit.phpページの上部でこれを使用しようとしました:

 <script type="application/javascript">
   $(".modalInput").on("click", function(e) {
   var detailURL;
   e.preventDefault();
   detailURL = $(this).attr("href");
   $('#myEditModal').load(detailURL, function(){
   });
   });
 </script>

JavaScriptコードには何らかの作業が必要だと確信しています。

仲間の Web 開発者の皆さん、あなたの助けが必要です。このアプリケーションを完成させる必要がありますが、おそらくこれが作業に必要な最後のコードです。タイプミス、括弧の欠落、変数の不一致は無視してください。コードは、データをモーダル ウィンドウにロードできることを除けば機能します。

また、ajax を使用できることはわかっていますが、当面は、php、javascript、および mysql を使用する必要があります。

前もって感謝します。

4

1 に答える 1