2017-09-04 7 views
0

テーブル内に商品アイテムのリストがあります。各行には独自の編集および削除ボタンがあります。私はURLを介してPHPを使用するので、私は削除機能を行うことができます。しかし、編集ボタンの問題は、私はモーダルのdivをページに隠しておいて、ユーザーが 'その行(アイテム)の編集ボタンを押すと、モーダルが表示され(完了)、その行をajax-lyに挿入したいデータ(dbから)をモーダルフォーム入力に変換します。あまりにもAjaxでそれを保存してください。私はid="editProduk-xxxの形式で各行のIDを追加します。ここでxxxは製品IDです。また、jQueryを使用してその動的IDにアクセスする方法を知る必要があるため、商品アイテム(行)を参照として使用するモーダルでいくつかのAjaxを実行できます。動的リストIDを使用してデータベースリストを編集する方法jQueryを使用してPHPから

これは形式です:

<table class="table table-striped"> 
 
<thead> 
 
<tr> 
 
<th>Nama</th> 
 
<th>Jenis Produk</th> 
 
<th>Harga Satuan</th> 
 
<th>Unit</th> 
 
<th>Keterangan</th> 
 
<th>Menu</th> 
 
</tr> 
 
</thead> 
 
<tbody> 
 
<?php foreach ($list_produk as $key => $value): ?> 
 
<tr> 
 
<td><?php echo $value->nama; ?></td> 
 
<td><?php echo $value->jenis_produk; ?></td> 
 
<td><?php echo $value->harga; ?></td> 
 
<td><?php echo $value->unit; ?></td> 
 
<td><?php echo $value->keterangan; ?></td> 
 
<td> 
 
<a id="<?php echo 'editProduk-'.$value->id; ?>" href="<?php echo base_url().'index.php/produk/edit/'.$value->id; ?>" class="btn btn-sm btn-success"><span class="icon-pencil"></span></a> 
 
<a href="<?php echo base_url().'index.php/produk/hapus/'.$value->id; ?>" class="btn btn-sm btn-danger"><span class="icon-trash"></span></a> 
 
</td> 
 
</tr> 
 
<?php endforeach; ?> 
 
</tbody> 
 
</table>

そして、ここでは、私が試したものです(私は静的IDを選択:132、私はダイナミックカントーをしたい)

// example of accessing the row with the productID 132 
 
$('#editProduk-132').on('change', function() { 
 
\t $('#modalCustom').show(); 
 
\t var jumlah = $('#jumlah').val(); 
 
\t $.ajax({ 
 
\t \t url: "<?php echo base_url().'index.php/produk/get'?>"+produk, 
 
\t \t type: "GET", 
 
\t \t dataType: "json", 
 
\t \t success:function(data) { 
 
\t \t \t // inserting form input with the data from produk/get 
 
\t \t \t $.each(data, function(key, value) { 
 
\t \t \t \t $('#productName').val(value.nama); 
 
\t \t \t \t $('#productPrice').val(value.harga); 
 
\t \t \t \t $('#productType').val(value.jenis_produk); 
 
\t \t \t \t $('#productUnit').val(value.unit); 
 
\t \t \t \t $('#productInfo').val(value.keterangan); 
 
\t \t \t }); 
 
\t \t } 
 
\t }); 
 
});

+0

スパン>のonclickの中に商品ID、つまり$ value-> idを渡します。その後、edit_product関数の中でajax呼び出しを起動します。 – Lalit

+0

@Lalitは動作しないようですが、それは私のモーダルを表示しません。 – Hernanda

+0

この行は$( '#modalCustom')に入れましたか? edit_product関数内にありますか? – Lalit

答えて

-1

私はあなたの質問に答えるつもりですが、それはあなたのために働くまでコードを微調整する方法を知っています。

実際には、IDを2番目のフォームに渡し、データを入力するだけで済みます。その後、**私はあまりないよmysqli_*の中で私が書いているコードはPDO

であるあなたは、このコードの右で

<table class="table table-striped"> 
    <thead> 
    <tr> 
    <th>Nama</th> 
    <th>Jenis Produk</th> 
    <th>Harga Satuan</th> 
    <th>Unit</th> 
    <th>Keterangan</th> 
    <th>Menu</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php foreach ($list_produk as $key => $value): ?> 
    <tr> 
    <td><?php echo $value->nama; ?></td> 
    <td><?php echo $value->jenis_produk; ?></td> 
    <td><?php echo $value->harga; ?></td> 
    <td><?php echo $value->unit; ?></td> 
    <td><?php echo $value->keterangan; ?></td> 
    <td> 
//Changed to buttons 
    <input type="button" class="editProduk" data-id="<?php echo $value->id; ?>"> 
    <input type ="button" data-id="<?php echo $value->id; ?>" class="delete"> 
    </td> 
</tr> 
<?php endforeach; ?> 
</tbody> 
</table> 

をテーブルを作成する次のことができます。

** NOTE jQueryを使用してそれらを編集フォームに渡します。

$(document).ready(function(){ 
$(".editProduk").click(function(){ 
    var id = $(this).data("id"); 
    $('#modalCustom').show().load('index.php?id='+id); 
}) 
}); 

そして、あなたはあなたの処理ページにjQueryのからidを得るとき、あなたはこのような何かを行うことができます。 (この部分は、あなたがそれを使用している場合myaqli_*に変換PDOである。)

include(dbconnect.php); 
<?PHP 
if(isset($_POST["id"]){ 
$getDetails = "SELECT * FROM <dbname> WHERE id = :id"; 
$getDetailsQ = $dbConnect -> prepare($getDetails); 
$getDetailsQ -> bindPare(':id', $_POST["id"]); 
$getDetailsQ -> execute(); 
$rowDetails = $getDetailsQ -> fetch(PDO::FETCH_ASSOC); 
} 
?> 
<html> 
<body> 
<label for-"name">Name:</label> 
<input id="name" value="<?php echo $rowDetails["name"] ?>"> 
<label for-"product">product:</label> 
<input id="product" value="<?php echo $rowDetails["product"] ?>"> 
. 
. 
. 
.// repeat what ever the details you have in your data base. 
</body> 
</html> 

このコードは、ちょうどあなたが希望にあなたと、これはコピーではありませんこのヘルプを行うために必要なもののアイデアを与えるために書かれていますペーストコード。

+0

あなたのコードを理解しています。そして、私はあなたがデータIDを使用する部分を使用します。それが私が探しているものです。できます。コードはそのように見えませんが、機能します。 – Hernanda

+0

喜んでお手伝いしました。データを手渡す方法を示すために、コード全体を例として書きました。私のバージョンとの違いについては、私は 'mysqli'という人ではないので、私は' PDO'を使ってそれを残念に思っています。 – Sand

関連する問題