2017-07-03 13 views
-1

PHPでjquery Ajaxを使用して値を取得したい。しかし、私はこのコード値が正しくフェッチされますが、すべての値がフェッチして一緒に値をすべてのフィールドを印刷するときに結合されているが、私は別のフィールドに別の値を印刷したい。私のコードは以下の通りです、あなたはその後、JSsplit機能を使用し、別の値のセパレートを使用することができますJquery Ajax Value Fetch

のindex.php

<!DOCTYPE html> 
<html> 
<head> 
<title>Untitled Document</title> 
</head> 
<body> 
<select name="Pro" onChange="my_validate_func()" id="pro_serv"> 
<option value=""></option> 
<option value="" ><font size="-1">Add New Product</font></option> 
<option value="Development"><font size="-1">Development</font></option> 
<option value="Maintance"><font size="-1">Maintance</font></option> 
</select> 
<br /> 
<input type="text" name="desc" id="desc" value="" /> 
<br /> 
<input type="text" name="unitprice" id="unitprice" value="" /> 
<br /><input type="text" name="discount" /> 
<script type="text/javascript" src="bootstrap/jquery1.8.3jquery.min.js"> 
</script> 
<script> 
$(document).ready(function() {}); 
function my_validate_func() { 
var pro_serv = $('#pro_serv').val(); 

    if ($('#pro_serv').val() != "") { 
     $.ajax({ 
      type: "POST", 
      url: 'check.php', 
      data: { pro_serv: pro_serv}, 
      success: function(response) { 
       $('#desc').val(response); 
       $('#unitprice').val(response); 
       $('#tax').val(response); 

      } 

     }); 
    } 
    } 
</script> 
</body> 
</html> 

check.php

<?php 
include('database/db.php'); 
$type=$_POST['pro_serv']; 
$sql="Select * from product_service_details where type='$type'"; 
$result=mysql_query($sql); 
if($dtset=mysql_fetch_array($result)) 
{ 
    $desc=$dtset['desc']; 
    $unitprice=$dtset['unitprice']; 
    $tax=$dtset['tax']; 
     echo $desc; 
     echo $unitprice; 
     echo $tax; 
} 


?> 
+1

'mysql_ *'関数はPHP7に廃止され、除去されることができます - セキュリティと今後の理由からmysqliに変更する – ThisGuyHasTwoThumbs

+0

これは、 'response'が3つの変数すべてのデータを持っているからです。それらを分割する必要があります – urfusion

+0

このデータを分割する方法 – Susant

答えて

3

echo $desc ."-" . $unitprice ."-" .$tax; 

は、あなたは以下のような応答を解析する必要がPHPでとjQueryでjson_encodeを使用する必要があります。

check.phpで
+0

これをチェック@Susant – lalithkumar

+0

ありがとう@latithkumar – Susant

+1

また、mysql_ * function..moveをmysqli_ *関数に使用しないでください。 – lalithkumar

0

この問題を解決してください。

PHP:

<?php 
include('database/db.php'); 
$type=$_POST['pro_serv']; 
$sql="Select * from product_service_details where type='$type'"; 
$result=mysql_query($sql); 
if($dtset=mysql_fetch_array($result)) 
{ 
    echo json_encode($dtset); 
} 

のjQuery Jsの

var arr = response.split('-'); 
$('#desc').val(arr[0]); 
$('#unitprice').val(arr[1]); 
$('#tax').val(arr[2]); 
0

*echo $tax;*echo json_encode('tax'=>$tax);

とindex.phpの

$('#tax').val(response);であるべきでは$('#tax').val(response.tax);