2016-04-01 13 views
1
<table class="table table-bordered table-hover"> 

          <tbody> 
           <tr>       
     <td><select name="ser" id="ser" class="bs-select form-control" onchange="getPrice(this.value);" data-live-search="true" required=""> 
     <option value="">--Select--</option> 
     <?php 
     $queryprd=$db->execute("select * from product_add where productcode LIKE '%$q%' and delet='0'"); 
     while($result=$queryprd->fetch_assoc()) 
     { 
     ?> 
     <option value="<?php echo $result['productcode']."|".$result['productname'];?>"><?php echo $result['productcode']."&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;".$result['productname'];?></option> 
     <?php 
     } 
     ?> 
     </select></td> 
     <td><input type="text" name="sale" id="saleprice" class="form-control" autocomplete="off" placeholder="Price" required=""/></td> 
     <td><select class="form-control msre" name="measure[]" id="measure"> 
      </select></td> 
           </tr> 
          </tbody> 
    </table> 
<script> 
     function getPrice(val) 
{ 
    $.ajax({ 
    type: 'post', 
    url: 'get_sales_price.php', 
    data: { 
     get_option:val 
    }, 
    success: function (response) { 
     document.getElementById("saleprice").value=response; 
     getquty(val); 
     getmsur(val); 
    } 
    }); 
} 

function getmsur(val) 
{ 
    $.ajax({ 
    type: 'post', 
    url: 'get_measure.php', 
    data: { 
     get_option:val 
    }, 
    success: function (response) { 
     document.getElementById("measure").innerHTML=response; 
     } 
    }); 
} 


</script> 

get_sales_price.phpAjaxの応答時間が長すぎる

<?php 
session_start(); 
ob_start(); 
require "../model/configuration.php"; 
$option = $_POST['get_option']; 
list($code,$pname) = explode("|", $option); 
$name=$pname; 
$cod=$code; 
$_SESSION['prdcode']=$cod; 
$querydep=$db->execute("select * from productsale_price where product_code='$cod'"); 
$pprce=$querydep->fetch_assoc(); 
$queryty=$db->execute("select * from product_add where productcode='$cod' and delet='0'"); 
$resultro=$queryty->fetch_assoc(); 
$_SESSION['prdtype']=$resultro['product_type']; 
$_SESSION['mrp']=$pprce['mrp']; 
echo $pprce['sale_price']; 
?> 

get_measure.phpは、このコードは完璧に働いたが、私の問題は、私が選択したときに....です選択ボックスのオプションid = "ser"私はで関数を呼び出します210 onchange = "getPrice(this.value);"その作業完璧アヤックス結果は指定したフィールドに示されているいくつかの倍の1または3分のいくつかの回
を助けてください、時間の無駄を減らすためにどのように5分以上...代わりにデータをフェッチするために2つのSQLを使用しての

+2

あなたのテーブルを適切にインデックスする選択したクエリで必要なファイルのみを選択してください:)) – madalinivascu

+0

$ querydep = $ db-> execute( "select sale_price、product_code = '$ cod ''); $ pprce = $ querydep-> fetch_assoc(); .........このように – Dasans

答えて

1

、1つのSQLを使用しますLEFT joinを使用すると、時間が節約されます。

<?php 
    $querydep=$db->execute("select pp.mrp, pp.sale_price, pa.product_type 
    from productsale_price As pp LEFT JOIN product_add As pa 
     ON pa.product_code = pp.product_code AND pa.delet='0' 
     where pp.product_code='$cod'"); 
    $pprce=$querydep->fetch_assoc(); 
    $_SESSION['prdtype']=$pprce['product_type']; 
    $_SESSION['mrp']=$pprce['mrp']; 
    echo $pprce['sale_price']; 
?> 
+0

を選択します。pp.mrp、pp.sale_price、pa.product_type .....「pp」と「pa」とは何ですか – Dasans

+0

SQLエイリアス –

0

productsale_price、product_addおよびmaster_purchaseテーブルのインデックスを作成しましたか?

ない場合、あなたは、インデックスを必要とする: - PRODUCT_CODE 上productsale_price - 製品コードと にproduct_add - master_purchase PRODUCT_CODE

これはトリックを行う必要があります!もちろん、ここでは、SQLサーバーが最適な条件で動作していると想定しており、応答が遅い原因ではありません。

関連する問題