php
  • ajax
  • 2016-11-11 37 views 1 likes 
    1

    我已經寫了按鈕的代碼使用AJAX,如下所示的值發送到PHP文件:如何從數據庫中選擇相同id值的多行值並顯示在ajax中?

    <script> 
    $(document).ready(function(){ 
        $(".open-AddBookDialog").click(function(){ 
         var packageid = $(this).attr("data-id"); 
         var dataString = 'packageid='+ packageid; 
         $.ajax({ 
          type: "POST", 
          url: "data1.php", 
          data: dataString, 
          cache: false, 
          success: function(result1){ 
           var packagetype = package_type; 
           alert(packagetype);     
          } 
         }); 
        }); 
    }); 
    </script> 
    

    這是我寫的按鈕Ajax代碼。我的按鈕代碼是:

    <a data-toggle="modal" id="custId" data-name="<?php echo $arr["package_name"]; ?>" data-id="<?php echo $arr["id"]; ?>" href="#myModal" class="open-AddBookDialog btn btn-submit" OnClick='change(this);'>Book/Enquiry/Pay</a> 
    

    當在href中單擊此按鈕時,我想使用ajax將一個id值發送到一個php文件。

    data1.php

    <?php 
    include('database.php'); 
    $id=$_POST['packageid']; 
    $query1 = mysqli_query($con,"select * from ayurveda_packagetypes where package_id = '$id'"); 
    $arr = mysqli_fetch_array($query1); 
    echo $arr['package_type']; 
    echo $arr['package_price']; 
    mysqli_close($con); 
    ?> 
    

    使用的id值,我想選擇從具有相同的id value.After拾取這些值我想要的多行數據庫包類型和包的價格的多個行將其發送到主php文件並顯示從數據庫中選取的所有行的所有值。

    任何人都可以建議如何做到這一點?

    +0

    你的ajax調用都是好的問題是你的PHP代碼。它只提取第一個記錄。檢查這個http://stackoverflow.com/questions/6481806/how-to-select-multiple-rows-from-mysql-with-one-query-and-use-them-in-php –

    +0

    它甚至不顯示第一個在ajax代碼行......我甚至沒有得到這些值...... – lena

    +0

    @lena看看下面,我已經爲你添加了完整的代碼。 –

    回答

    2
    <script> 
    
    
          $(document).ready(function() 
          { 
           $(".open-AddBookDialog").click(function() 
            { 
             var packageid = $(this).attr("data-id"); 
             var dataString = 'packageid='+ packageid; 
             $.ajax(
              { 
               type: "POST", 
               url: "data1.php", 
               data: dataString, 
               cache: false, 
               success: function(result) 
               { 
                resultJson=jQuery.parseJSON(result); 
                $.each(resultJson.packageDetails, function(i, item) { 
                 var packagetype = item.package_type; 
                 var package_price = item.package_price; 
                 alert("packagetype :- "+packagetype+" ----- package_price :-"+package_price); 
                }); 
               } 
              }); 
            }); 
          }); 
    
    
    </script> 
    <?php 
    
          include('database.php'); 
          $id=$_POST['packageid']; 
          $query1 = mysqli_query($con,"select * from ayurveda_packagetypes where package_id = '$id'"); 
          //$arr = mysqli_fetch_array($query1); 
          while($strPackageResult=mysqli_fetch_array($query1,MYSQLI_ASSOC)) 
         { $ArrPackage[]=$strPackageResult; } 
         if(isset($strPackageResult)){ unset($strPackageResult); } 
         mysqli_free_result($query1); 
         if(isset($query1)){ unset($query1); } 
          $myResultPackageArray=array(); 
          if(isset($ArrPackage) && is_array($ArrPackage) && count($ArrPackage)>0) { 
           $tempArray=array(); 
          foreach($ArrPackage as $tempPackage) 
          { 
           $tempArray['package_type']=$tempPackage['$tempPackage']; 
           $tempArray['package_price']=$tempPackage['package_price']; 
           $myResultPackageArray['packageDetails'][] =$tempArray; 
          } 
         } 
         mysqli_close($con); 
         echo json_encode($myResultPackageArray); 
    
    
        ?> 
    
    +0

    好吧..lemme試試這個!!!! – lena

    +0

    它會失敗,因爲json根是數組,因此您需要在成功時迭代'resultJson'。否則會給予錯誤 –

    +0

    其報警的packagetype: - 「+未定義+」 ----- package_price: - 。「+不確定y是像這樣 – lena

    1

    有一些基本的東西你應該知道,然後你可以輕鬆地糾正你的錯誤。

    這不是你問,但作爲一個程序員,我會建議你去通過它。

    由於經歷代碼

    var packagetype = package_type; 
    

    package_type是不確定的。如果您使用的是Chrome檢查元素並檢查控制檯,您將看到錯誤。

    希望這會起作用。

    +0

    這是編程的基礎知識。所有程序員都應該意識到這一點。 –

    相關問題