Count Dracula Count Dracula - 3 months ago 9
jQuery Question

onclick via button using php or javascript

Using foreach I displayed entries with two buttons along with it - update and delete respectively, how to make those buttons responsive using onclick(php or javascript)? Please click here to view attachment. Thanks.

note: the unlabelled buttons are along the entries - rightmost
Here's the code:

$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']."'");
}

SBA SBA
Answer

i created a hidden field to hold the value of the $product_code variable and took away the anchor tags since i took care of that in ajax. i then get this value in jquery,build the url with it in the ajax section.

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>';}

this part is the jquery with ajax part

$(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);
            }
        },
    });
}
});

you can perform the needed task move to the page where you check whether an update or delete action was triggered

    <?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']."'");
}

 ?> 

hope this helps