2014-04-24 36 views
0

我有一个类的参考股票功能。并且我有一个包含php和jquery的文件。在php代码中,我检查库存产品是否等于零,确认框会弹出。问题是,当我点击取消按钮时,ajax仍然运行类的功能并更新我的数据库中的数据,但我观察到警报成功没有加载。我该如何解决?对不起,我的英语不好。jQuery正在单击取消按钮

php文件:

<?php if($record['product_in_stock']<=0){?> 
      <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
         <script type="text/javascript" language="javascript"> 
         if(confirm('Product in stock is empty now, Do you want to continue?')){ 
           alert('ok'); 
           var order_id="12059"; 


           $.ajax({ 
            url:'components/com_virtuemart/classes/check_product_instock.php', 
            type:'post', 
            data: order_id, 
            success: function(){ 
             alert(success); 

            } 
           }); 

          return true; 
          }else{ 
           alert('no'); 
           return false; 
          } 

         </script> 
<?php }?> 

check_product_instock.php类

<?php 
if(!defined('_VALID_MOS') && !defined('_JEXEC')) die('Direct Access to '.basename(__FILE__).' is not allowed.'); 
class checkStock{ 
    private $order_id; 
function getOrderId(){ 
    if(isset($_POST['order_id'])){ 
     $this->order_id=$_POST['order_id']; 

    } 
} 
function check(){ 

if(isset($_POST) && $_POST['order_id']>0){ 

$order_id=$_POST['order_id']; 

     $q = "SELECT product_id, product_quantity FROM jos_vm_order_item WHERE order_id='".$order_id."'"; 

      $result=mysql_query($q); 
       while ($record=mysql_fetch_array($result)) { 
        $q = "UPDATE jos_vm_product 
         SET product_in_stock=product_in_stock - ".$record["product_quantity"].", 
         product_sales=product_sales + ".$record["product_quantity"]." 
         WHERE product_id=".$record["product_id"]; 
         mysql_query($q); 

       } 

     } 
    } 
} 
$stock = new checkStock(); 
$stock->check(); 
+0

Works fine ** [here](http://jsfiddle.net/K6f7n/)** –

回答

0
  • 首先,我认为你不需要还真回报虚假在if条件下。其次,您必须在ajax函数中传递参数,例如data:'order_id ='+ order_id,。只有这样,php文件(check_product_instock.php)才能读取POST值。

+0

感谢您的回答。问题是确认框弹出,然后我点击取消按钮,脚本仍然运行类中的函数(check_product_in_stock)并更新数据库中的数据。最后,我也跟着你的建议,它仍然在课堂上运行的功能。 – sakkona