質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

900閲覧

[回答2件は長いので自己投稿] bootgridを使用しているが、 データの取得の仕方をPHPからJavaScriptもしくはC#の「.cs」に変更したい。&「編集」ボタンが出てこない

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/07/25 01:24

編集2018/07/26 10:35

https://www.phpflow.com/php/addedit-delete-record-using-bootgrid-php-mysql/
上のページを参考に、下記を作成しました。

ソースコード

HTML

1<!--HTML1--> 2<body> 3 <form id="myform" method="post"> 4 <table id="employee_grid" class="table table-condensed table-hover table-striped" data-toggle="bootgrid"> 5 <thead> 6 <tr> 7 <th data-column-id="id" data-type="numeric" data-identifier="true" data-order="asc" data-width="27%">コード</th> 8 <th data-column-id="employee_namae" data-width="27%">名称</th> 9 <th data-column-id="employee_received" data-width="27%">割引率</th> 10 <th data-column-id="commands" data-formatter="commands" data-sortable="false" data-width="19%">編集・削除</th> 11 </tr> 12 </thead> 13 <tbody> 14 <% 15 foreach (var _店舗 in _店舗一覧) 16 { 17 %> 18 <tr data-row-id="<%= _店舗["コード"] %>" class="modal-tr"> 19 <td id="Code-<%= _店舗["コード"] %>"> 20 <input type="text" value="<%= _店舗["コード"] %>" /><%= _店舗["コード"] %></td> 21 <td id="Meisyo-<%= _店舗["コード"] %>"> 22 <input type="text" value="<%= _店舗["コード名"] %>" /><%= _店舗["コード名"] %></td> 23 <td id="Per-<%= _店舗["コード"] %>"> 24 <input type="text" value="<%= _店舗["割引率"] %>" /><%= _店舗["割引率"] %></td> 25 <td data-column-id="commands"></td> 26 </tr> 27 <% 28 } 29 %> 30 </tbody> 31 </table> 32 </form> 33 <div class="form-group text-center"> 34 <div class="col-lg-12"> 35 <button id="screen" type="button" class="btn btn-info pause"><span class="glyphicon glyphicon-plus"></span>&nbsp;追加</button> 36 <button id="close" type="button" class="btn btn-info"><span class="glyphicon glyphicon-remove"></span>&nbsp;閉じる</button> 37 <br> 38 </div> 39 </div>

HTML

1<!--HTML2 モーダル・ダイアログ新規(HTML1の「追加」ボタンを押した際に表示)--> 2 3 <div class="modal fade" id="add_model"> 4 <div class="modal-dialog"> 5 <div class="modal-content"> 6 <div class="modal-header"> 7 <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span></span></button> 8 <h4 class="modal-title">新規</h4> 9 </div> 10 11 <div class="modal-body2"> 12 <form id="frm_add" method="post"> 13 <input type="hidden" value="add" name="action" id="action"> 14 <table class="center"> 15 <tr> 16 <td> 17 <table class="table table-condensed table-bordered table-hover hos_table_data"> 18 <thead> 19 <tr class="active"> 20 <th class="control-label"><span>コード</span></th> 21 <th class="control-label"><span>名称</span></th> 22 <th class="control-label"><span>割引率</span></th> 23 </tr> 24 </thead> 25 <tbody > 26 <tr style="height: 30px;"> 27 <td class="id"> 28 <input type="text" maxlength="2" class="form-control fm" style="width: 50px; text-align: right; font-size: larger; padding: 3px;" id="id" name="id" placeholder="00" /></td> 29 <td class="namae"> 30 <input type="text" maxlength="20" class="form-control fm" style="width: 300px; text-align: right; font-size: larger; padding: 3px;" id="namae" name="namae" placeholder="20字以内で入力してください" /></td> 31 <td class="received"> 32 <input type="text" maxlength="3" class="form-control fm" style="width: 50px; text-align: right; font-size: larger; padding: 3px;" id="received" name="received" placeholder="000" /></td> 33 </tr> 34 </tbody> 35 </table> 36 </td> 37 </tr> 38 </table> 39 </form> 40 </div> 41 <div class="modal-footer"> 42 <div class="form-group text-center"> 43 <div class="col-lg-12"> 44 <button id="btn_add" type="button" class="btn btn-info pause"><i class="glyphicon glyphicon-list"></i>&nbsp;登録</button> 45 <button id="close2" type="button" class="btn btn-info" data-dismiss="modal"><i class="glyphicon glyphicon-remove"></i>&nbsp;キャンセル</button> 46 <br> 47 </div> 48 </div> 49 </div> 50 </div> 51 </div> 52 </div>

HTML

1<!--HTML3 モーダル・ダイアログ編集(HTML1のdata-column-id="commands"内の「編集」ボタンを押した際に表示)--> 2 <div class="modal fade" id="edit_model"> 3 <div class="modal-dialog"> 4 <div class="modal-content"> 5 <div class="modal-header"> 6 <button type="button" class="close" data-dismiss="modal"aria-hidden="true"><span></span></button> 7 <h4 class="modal-title">編集</h4> 8 </div> 9 10 <div class="modal-body2"> 11 <form id="frm_edit" method="post"> 12 <input type="hidden" value="edit" name="action" id="action"> 13 <input type="hidden" value="0" name="edit_id" id="edit_id"> 14 <table class="center"> 15 <tr> 16 <td> 17 <table class="table table-condensed table-bordered table-hover hos_table_data"> 18 <thead> 19 <tr class="active"> 20 <th class="control-label"><span>コード</span></th> 21 <th class="control-label"><span>名称</span></th> 22 <th class="control-label"><span>割引率</span></th> 23 </tr> 24 </thead> 25 <tbody> 26 <tr style="height: 30px;" data-row-id="dialogid"> 27 <td class="id"> 28 <input type="text" maxlength="2" class="form-control fm" style="width: 50px; text-align: right; font-size: larger; padding: 3px;" id="id" name="id" placeholder="00" /></td> 29 <td class="edit_namae"> 30 <input type="text" maxlength="20" class="form-control fm" style="width: 300px; text-align: right; font-size: larger; padding: 3px;" id="edit_namae" name="edit_namae" placeholder="20字以内で入力してください" /></td> 31 <td class="edit_received"> 32 <input type="text" maxlength="3" class="form-control fm" style="width: 50px; text-align: right; font-size: larger; padding: 3px;" id="edit_received" name="edit_received" placeholder="000" /></td> 33 </tr> 34 </tbody> 35 </table> 36 </td> 37 </tr> 38 </table> 39 </form> 40 </div> 41 <div class="modal-footer"> 42 <div class="form-group text-center"> 43 <div class="col-lg-12"> 44 <button id="btn_edit" type="button" class="btn btn-info pause"><i class="glyphicon glyphicon-list"></i>&nbsp;登録</button> 45 <button id="close3" type="button" class="btn btn-info" data-dismiss="modal"><i class="glyphicon glyphicon-remove"></i>&nbsp;キャンセル</button> 46 <br> 47 </div> 48 </div> 49 </div> 50 </div> 51 </div> 52 </div>

HTML

1<!--入れているjs、css一覧 --> 2 <link href="./bootstrap3.2/bootstrap.min.css" /> 3 <link href="./bootstrap3.1.1/bootgrid.css" /> 4 <link href="./bootstrap3.1.1/jquery.bootgrid.css" /> 5 <link href="./bootstrap3.1.1/Examples.css" /> 6 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/start/jquery-ui.css"> 7 <script src="./jquery-1.10.2.min.js></script> 8 <script src="./bootstrap3.2/bootstrap.min.js"></script> 9 <script src="./bootstrap3.1.1/jquery.bootgrid.js"></script> 10 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

長くなったのでコメントに残り書きます

やってみたこと、考え

「url」を「.cs」にリンク変更→特に変わりなし

補足情報(FW/ツールのバージョンなど)

Visual studio 2017使用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/26 11:56

見づらい
x_x

2018/07/27 03:19

PHPからC#へ移植したいということなのでしょうか? Bootgridは関係ありますか?
退会済みユーザー

退会済みユーザー

2018/07/27 11:11

はい、その通り、PHPからC#へ移植したいです。BootGridで作成していたので、関係あると思っていたのですが…。もしかしたら関係ないですか?
guest

回答3

0

ベストアンサー

そもそもの作り方が間違っておりました。
PHP→C#への移植ではなく、
C#内で処理を行うやり方で作ることになりました。
まだ制作中ですが、「PHP→C#への移植」という問題としては、
「解決」とさせていただければと思います。

コメントくださった方、ありがとうございました。

投稿2018/08/07 01:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

PHP

1//response.php 2include("connection.php"); 3 $db = new dbObj(); 4 $connString = $db->getConnstring(); 5 6 $params = $_REQUEST; 7 8 $action = isset($params['action']) != '' ? $params['action'] : ''; 9 $empCls = new Employee($connString); 10 11 switch($action) { 12 default: 13 $empCls->getEmployees($params); 14 return; 15 } 16 class Employee { 17 protected $conn; 18 protected $data = array(); 19 function __construct($connString) { 20 $this->conn = $connString; 21 } 22 23 public function getEmployees($params) { 24 25 $this->data = $this->getRecords($params); 26 27 echo json_encode($this->data); 28 } 29 30 function getRecords($params) { 31 $rp = isset($params['rowCount']) ? $params['rowCount'] : 10; 32 33 if (isset($params['current'])) { $page = $params['current']; } else { $page=1; }; 34 $start_from = ($page-1) * $rp; 35 36 $sql = $sqlRec = $sqlTot = $where = ''; 37 38 if( !empty($params['searchPhrase']) ) { 39 $where .=" WHERE "; 40 $where .=" ( employee_namae LIKE '".$params['searchPhrase']."%' "; 41 $where .=" OR employee_received LIKE '".$params['searchPhrase']."%' )"; 42 } 43 44 $sql = "SELECT * FROM `employee` "; 45 $sqlTot .= $sql; 46 $sqlRec .= $sql; 47 48 if(isset($where) && $where != '') { 49 50 $sqlTot .= $where; 51 $sqlRec .= $where; 52 } 53 if ($rp!=-1) 54 $sqlRec .= " LIMIT ". $start_from .",".$rp; 55 56 57 $qtot = mysqli_query($this->conn, $sqlTot) or die("error to fetch tot employees data"); 58 $queryRecords = mysqli_query($this->conn, $sqlRec) or die("error to fetch employees data"); 59 60 while( $row = mysqli_fetch_assoc($queryRecords) ) { 61 $data[] = $row; 62 } 63 64 $json_data = array( 65 "current" => intval($params['current']), 66 "rowCount" => 10, 67 "total" => intval($qtot->num_rows), 68 "rows" => $data 69 ); 70 return $json_data; 71 } 72 73case 'add': 74 $empCls->insertEmployee($params); 75break; 76 77function insertEmployee($params) { 78 $data = array();; 79 $sql = "INSERT INTO `employee` (employee_namae, employee__received) VALUES('" . $params["namae"] . "', '" . $params["received"] . "'); "; 80 81 echo $result = mysqli_query($this->conn, $sql) or die("error to insert employee data"); 82 } 83 84 case 'edit': 85 $empCls->updateEmployee($params); 86break; 87 88function updateEmployee($params) { 89 $data = array(); 90 //print_R($_POST);die; 91 $sql = "Update `employee` set employee_namae = '" . $params["edit_namae"] . "', employee_received='" . $params["edit_received"] . "' WHERE id='".$_POST["edit_id"]."'"; 92 echo $result = mysqli_query($this->conn, $sql) or die("error to update employee data"); 93 } 94 95case 'delete': 96 $empCls->deleteEmployee($params); 97break; 98 99function deleteEmployee($params) { 100 $data = array(); 101 //print_R($_POST);die; 102 $sql = "delete from `employee` WHERE id='".$params["id"]."'"; 103 echo $result = mysqli_query($this->conn, $sql) or die("error to delete employee data"); 104}

ただ、今回データを取ってきている(取ってきたい)のが、下記のC#の「.cs」内です。

HTML

1// C#の「.cs」内でのデータの取り方 2 3public HttpContext baseContext; 4 5 private List<Dictionary<string, string>> __店舗一覧; 6 public List<Dictionary<string, string>> _店舗一覧 7 { 8 get 9 { 10 if (__店舗一覧 == null) 11 { 12 var parameters = new Dictionary<string, string>(); 13 parameters.Add("種別", _LoginContext._種別); 14 var data = new List<Dictionary<string, string>>(); 15 using (var connection = new SqlConnection(_LoginContext._接続文字列)) 16 { 17 connection.Open(); 18 using (var command = new SqlCommand()) 19 { 20 var method = MethodBase.GetCurrentMethod(); 21 var text = string.Format("/* [{0}.{1}] */", method.DeclaringType, method.Name) + /*string.Format(*/@" 22 DECLARE @種別 INT; SET @種別 = <D:種別>; 23 select distinct 24 コード, 25 コード名, 26 割引率 27 from 28 店舗一覧マスタ 29 order by 30 コード 31 "; 32 command.Connection = connection; 33 command.CommandText = hos.Utility.ReplaceSql(text, parameters); 34 command.CommandTimeout = int.Parse(ConfigurationManager.AppSettings["SqlCommandTimeout"]); 35 hos.Utility.SqlLog(Context, command); 36 using (var reader = command.ExecuteReader()) 37 { 38 while (reader.Read()) 39 { 40 var dictionary = new Dictionary<string, string>(); 41 for (var i = 0; i < reader.FieldCount; i++) 42 { 43 var name = reader.GetName(i); 44 var value = reader.GetValue(i).ToString(); 45 dictionary.Add(name, value); 46 } 47 data.Add(dictionary); 48 } 49 } 50 } 51 } 52 __店舗一覧 = data; 53 } 54 return __店舗一覧; 55 } 56

上記で取ってきたデータで、jsonの作成をし、
HTML1にデータを出したいです。

あと、現状だと、.csのループでしか
データを取ってきていないからか、
「編集」ボタンが出てきません。
こちらの原因も、これで合っているのか、
合っている場合どうすればいいのか教えてほしいです。

投稿2018/07/25 01:26

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

JavaScript

1//HTML1の「employee_grid」の処理 2var grid = $(function () { 3 $("#employee_grid").bootgrid({ 4 ajax: true, 5 rowSelect: true, 6 post: function () { 7 return { 8 id: "b0df282a-0d67-40e5-8558-c9e93b7befed" 9 }; 10 }, 11 url: "./bootstrap3.1.1/response.php", // ここのデータを、phpじゃなくしたい。 12 formatters: { 13 "commands": function (column, row) { 14 return "<button type=\"button\" class=\"btn btn-xs btn-default command-edit\" data-row-id=\"" + row.id + "\"><span class=\"glyphicon glyphicon-edit\">編集</span></button> " + 15 "<button type=\"button\" class=\"btn btn-xs btn-default command-delete\" data-row-id=\"" + row.id + "\"><span class=\"glyphicon glyphicon-trash\">削除</span></button>"; 16 } 17 } 18 }).on("loaded.rs.jquery.bootgrid", function () { 19 grid.find(".command-edit").on("click", function (e) { 20 21 var ele = $(this).parent(); 22 var g_id = $(this).parent().siblings(':first').html(); 23 var g_name = $(this).parent().siblings(':nth-of-type(2)').html(); 24 25 $("#edit_model").modal('show'); 26 if ($(this).data("row-id") > 0) { 27 28 $('#edit_id').val(ele.siblings(':first').html()); $('#edit_namae').val(ele.siblings(':nth-of-type(2)').html()); 29 $('#edit_received').val(ele.siblings(':nth-of-type(3)').html()); 30 } else { 31 alert('Now row selected! First select row, then click edit button'); 32 } 33 }).end().find(".command-delete").on("click", function (e) { 34 35 var conf = confirm('Delete ' + $(this).data("row-id") + ' items?'); 36 alert(conf); 37 if (conf) { 38 } 39 }); 40 }); 41});

JavaScript

1//ボタンを押した際の処理一覧 2$("#command-add").click(function () { 3 $('#add_model').modal('show'); 4}); 5 6$("#btn_add").click(function () { 7 ajaxAction('add'); 8}); 9 10$("#btn_edit").click(function () { 11 ajaxAction('edit'); 12}); 13 14function ajaxAction(action) { 15 data = $("#frm_" + action).serializeArray(); 16 $.ajax({ 17 type: "POST", 18 url: "./bootstrap3.1.1/response.php", // ここのデータを、phpじゃなくしたい。 19 data: data, 20 dataType: "json", 21 success: function (response) { 22 $('#' + action + '_model').modal('hide'); 23 $("#employee_grid").bootgrid('reload'); 24 } 25 }); 26} 27 28$("#close").click(function (e) { 29 window.close(); 30});

投稿2018/07/25 01:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問