私の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 を使用する必要があります。
前もって感謝します。