2016-08-02 6 views
0

こんにちは私はデータベースからajaxを使用してデータを取得しています。ajaxとdatepickerを使用している異なるテーブルのデータ

問題は、日付の選択にhtmlの日付ピッカーを使用しています。私はボタンとして請求IDを取得しましたが、今問題はこのすべてがajaxを使用して行われていることです。ボタンをクリックすると、注文の詳細を取得したいのですが、同じページでどうすればいいですか?

ここにコードがあります。

私はまた、このページでAJAXを使用して、3ページからデータを取得し、それを表示することができます思っfetchbills.php fetchbills.php

<?php 
include("./config.php"); 
$dt = $_REQUEST["dt"]; 
echo "<script type='text/javascript'> 
function get(str) 
{ 
var xmlhttp; 
if (str==0) 
    { 
alert('please select Table no'); 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    // var dat=xmlhttp.responseText; 
    //document.write(dat[0]); 
    document.getElementById('showresult').innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open('POST','fetchbilldetail.php',true); 
xmlhttp.send(); 
} 
</script>"; 
//echo $dt; 
$sql="select bill_id,order_id from bill_master where order_date='$dt'"; 
//echo $sql; 
$result=mysqli_query($con,$sql) or die("error"); 
//echo "<table><tr><th>Item Name</th><th>Quantity</th></tr>"; 
if($result) 
{ 
while($row=mysqli_fetch_array($result)) 
{ 
    //echo "1"; 
echo $row[0]."<br>";  
echo "<form method='post' action=''><input type='submit' name='det' value='".$row[1]."' onclick='get(this.value)' /></form> 
<div id='showresult'></div>"; 
// echo "<tr><td>".$row[4]."</td><td>".$row[3]."</td></tr>"; 
} 
} 
//echo "</table>"; 
?> 

からデータを取得

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript"> 
function get(str) 
{ 
    //document.write("hi"); 
var xmlhttp; 
if (str==0) 
    { 
alert("please select Table no"); 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    // var dat=xmlhttp.responseText; 
    //document.write(dat[0]); 
    document.getElementById("showresult").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","fetchbills.php?dt="+str,true); 
xmlhttp.send(); 
} 
</script> 
</head> 

<body> 
<input type="date" name="datepicker" id="picker" onchange="get(this.value)"/> 
<div id="showresult"> 

</div> 
</body> 
</html> 

oldbills.php

1ページ目。

リンクはリダイレクトされ、3ページにデータが表示されます。私は、単一のページ上のデータを取得するにはどうすればよい

fetchbilldetail.php

<?php 
include("./config.php"); 
$det = $_POST["det"]; 
//echo $det; 
$sql="SELECT m.old_order_id,m.old_order_amount,l.item_id,l.old_order_quantity,i.item_name from old_order_master m,old_order_list l,item_list i where m.old_order_id=$det and m.old_order_id=l.old_order_id and l.item_id=i.item_id"; 
//echo $sql; 
$result=mysqli_query($con,$sql); 
echo "<table><tr><th>Item Name</th><th>Quantity</th></tr>"; 
while($row=mysqli_fetch_array($result)) 
{ 

    echo "<tr><td>".$row[4]."</td><td>".$row[3]."</td></tr>"; 
} 
echo "</table>"; 
?> 

+0

をお楽しみください? –

+0

私はどうやってやるのか分からない、いくつか例を挙げてもらえますか? –

+0

はいvinita。 XMLHttpRequestを使用する代わりに、ajax(jquery)を使用してサーバー側のデータを取得する方が、より簡単で便利です。[link] https://www.sitepoint。com/demos/ajax/ –

答えて

0

私はちょうどajaxデモを試みました。しかし、私は別のデータをどのように取得するか知りたいと思います。

ここはコードです。私はPHPページからデータを取得しています。

oldbills.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

</head> 

<body> 
<form method="post"> 
     <input type="date" name="gdate" id="gdate" onchange="<?php echo $_SERVER['PHP_SELF']?>"/> 
     </form> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
function makeAjaxRequest(dateval){ 
     $.ajax({ 
      type: "GET", 
      data: { dateva: dateval }, 
      url: "fetchbills.php", 
      success: function(data) { 
      $('#showresult').html(data); 
      } 
     }); 
     } 

$("#gdate").on("change", function(){ 
     var id = $(this).val(); 
      makeAjaxRequest(id); 

     }); 
</script> 
<div id="showresult"> 

</div> 
</body> 
</html> 

fetchbills.php

<?php 
include("./config.php"); 
$dt = $_REQUEST["dateva"]; 
//echo $dt; 
$sql="select bill_id,order_id from bill_master where order_date='$dt'"; 
echo $sql; 
$result=mysqli_query($con,$sql) or die("error"); 
//echo "<table><tr><th>Item Name</th><th>Quantity</th></tr>"; 
if($result) 
{ 
while($row=mysqli_fetch_array($result)) 
{ 
    //echo "1"; 
echo $row[0]."<br>";  
echo "<form method='post' action=''><input type='submit' name='det' value='".$row[1]."' onclick='get(this.value)' /></form>"; 
// echo "<tr><td>".$row[4]."</td><td>".$row[3]."</td></tr>"; 
} 
} 
//echo "</table>"; 
?> 

enter image description here

これらは現在、これらのボタンのクリック時に私がしたい、PHPからフェッチしたデータであるボタンですテーブルからデータをフェッチしてください。どうすればいいですか? JSで今

echo "<form method='post' action=''><input type='submit' name='det' value='".$row[1]." id='det'/></form>"; 

fetchbills.phpちょうどこの中

+0

あなたは正しい道を進んでいます..ちょうどさらなるプロセスのために私の答えをチェックしてください –

0

出力は今ボタンのonclick属性を記述していないとして、あなたがボタンを取得している...細かいですが

は、

$(document).on('click','#det',function(){ 
    $.ajax({ 
      type: "GET", 
      data: { //your button id to be pass in the data }, 
      url: "yourUrl.php", 
      success: function(data) { 
      $('resultID').html(data); 
      } 
     }); 
}); 

などとyourUrl.php でコードを書くIに基づいて請求書の詳細を取得するコードを記述ファイルDあなたは送る。 これで、あなたが望むようにあなたの結果になります。 そのajaxコールは2回です。最初のフェッチのボタンや法案をフェッチのための別のための... は、あなたがその中にjQueryのAJAXを使用することはできません

関連する問題