2016-08-13 8 views
1

foreachを使用して、私はそれに加えて2つのボタンと一緒にエントリを表示しました - それぞれonclick(phpまたはjavascript)を使用してボタンを反応させる方法? Please click here to view attachment。ありがとう。onclick phpまたはjavascriptを使用してボタンをクリック

注:非標識のボタンがエントリに沿っている - ここでは右端の コードがあります:私が取ったので、

$get_product_details = $db->query("SELECT product_name,product_type FROM products WHERE product_code = '$product_code'"); 
foreach($get_product_details as $key) { 
    echo'<tr><td>'.$key['product_name'].'</td><td>'.$key['product_type'].'</td><td><input type = "text" name = "actual_case" value = "'.$quantity.'"class = "form-control" style = "width:20%;"></td> 
    <td><a href="?update='.$product_code.'"<input type = "button" name = "update" class = "form-control" value ="update" style = "width:20%;height:0"></a></td> 
    <td><a href="?remove='.$product_code.'"<input type = "button" name = "remove" id = "" class = "form-control" value ="remove" style = "width:20%;height:0"></a></td></td></tr></br>'; 
} 
if(isset($_GET['remove'])){ 
    $delete_entry = $db->query("DELETE * FROM order_supplier_list WHERE order_supplier_id = '$transaction_id' AND product_code = '".$_GET['remove']."'"); 
} 
if(isset($_GET['update'])){ 
    $qntity = $_POST['actual_case']; 
    $update_order = $db->query("UPDATE order_supplier_list SET quantity = '$qntity' WHERE order_supplier_id = '$transaction_id' AND product_code = '".$_GET['update']."'"); 
} 
+0

ここでDELETEがどのように機能するかわかりません。あなたがまだそれを使用しているなら、それはあなたに失敗しています。 –

+0

^私は再び泡を吹いていますか? * "はいフレッド、あなたです" * –

答えて

0

私は$のPRODUCT_CODE変数の値を保持するために隠しフィールドを作成し、アンカータグを奪いましたそれをアヤックスで気にする。 jqueryでこの値を取得し、ajaxセクションにURLを作成します。

foreach($get_product_details as $key) { 
    echo'<tr><td>'.$key['product_name'].'</td> <td>'.$key['product_type'].'</td><td><input type = "text" name = "actual_case" value = "'.$quantity.'"class = "form-control" id="quantity" style = "width:20%;"></td> 
    <td><input type = "hidden" name = "product_code" class = "form-control" value ="'.$product_code.'" style = "width:20%;height:50"></td> 
<td><input type = "button" name = "update" class = "form-control" value ="update" style = "width:20%;height:50" onclick="updateProduct()"> </td> 
    <td><input type = "button" name = "remove" id = "" class = "form-control" value ="remove" style = "width:20%;height:50" onclick="deleteProduct()></td></td></tr></br>';} 

この部分はあなたが更新するかどうかをチェックしたり、アクションを削除ページに必要なタスクの移動が

<?php 


if(isset($_GET['remove'])){ 
    $delete_entry = $db->query("DELETE FROM order_supplier_list WHERE order_supplier_id = '$transaction_id' AND product_code = '".$_GET['remove']."'"); 
} 
if(isset($_GET['update'])){ 
    $qntity = $_GET['actual_case']; //I change it from $_POST to ensure uniformity 
    $update_order = $db->query("UPDATE order_supplier_list SET quantity = '$qntity' WHERE order_supplier_id = '$transaction_id' AND product_code = '".$_GET['update']."'"); 
} 

?> 

をトリガした実行できるAjaxの一部

$(function(){ 


function updateProduct(){ 
    var hiddenProduct_Code=$('#hiddenProduct_code').val(); 
    var quantity=$('#quantity').val(); 
    $.ajax({ 
      method: 'GET', 
      url: "?update="+hiddenProduct_Code+"", 
      data: {'update' : hiddenProduct_Code,'actual_case':quantity}, 
      success: function (data) { 
      if (data) { 
       alert(data); 
      } 
     }, 
    }); 
} 

function deleteProduct(){ 
    var hiddenProduct_Code=$('#hiddenProduct_code').val(); 
    $.ajax({ 
      method: 'GET', 
      url: "?remove="+hiddenProduct_Code+"", 
      data: {'remove' : hiddenProduct_Code}, 
      success: function (data) { 
      if (data) { 
       alert(data); 
      } 
     }, 
    }); 
} 
}); 

とjqueryのですこれが役立つことを願って DELETE構文が修正されました dev.mysql.com/doc/refman/5.7/en/delete.html @Fred

+0

あなたの回答をありがとう** Sir SBA **、しかし私の主な関心事は、ボタンをクリックするだけで実行できるSQLクエリの削除と更新を持つonclick関数の作り方です。私は2つの異なるSQLクエリ(削除と更新クエリ)があるので、対応するonclick関数と2つのボタンもあります。 –

+0

@Count Draculaその場合、どのボタンがクリックされたかに基づいて更新または削除アクションを処理するためにajaxが使用されます。あなたが達成したいと思っているものがあれば教えてください – SBA

+0

まさに** SBA **さん。あなたが私を助けてくれることを願っています。 –

関連する問題