2014-04-24 35 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