2016-05-05 19 views
0

他のPHPページに情報を投稿する方法を知る必要があります.JavaScriptを使用してプレビューテーブルを提供しています。プレビューテーブル用のJavaScriptを使用して情報を投稿する方法

私のHTMLには、productIDを関数に送信するonchangeタグがあります。

<form action="Home.php" method="Post"> 
    <div> 
     <p> 
      <span class="text">Please Select a product:</span> 
      <select id="Select_Product" name="Select_Product" onchange="productInfo(this.value)" class="select"> 
      <?php 
       //setting the select statement and running it 
       $search = "SELECT * FROM Library.Products order by Name"; 
       $return = mysql_query($search); 
       //echo "<select id=Select_Product name=Select_Product onchange=productInfo(this.value) class=select>"; 
        while ($row = mysql_fetch_array($return)) { 
        echo "<option value='" . $row['ProductID'] . "' selected='selected'>".$row['Name'] . "</option>"; 
       } 
      ?> 
      </select> 
     </p> 
     <table>  
      <tr> 
       <td> 
        <input name="action" type="submit"class="button" id="button_Add" value="Add"/> 
       </td> 
       <td> 
        <input name="action" type="submit" class="button" id="button_Remove" value="Remove"/> 
       </td> 
       <td> 
        <input name="action" type="submit" class="button" id="button_empty" value="Empty"/> 
       </td> 
      </tr> 
     </table> 
    </div> 

そこからcatalogue.phpに送信します。

<script> 
    function productInfo(key) { 
     //Send key to catalogue.php 
    } 
</script> 

他のページでその変数を取得できる場合は、MYSQLコマンドを実行して情報を取得できます。ここで、catalogue.phpが現時点でどのように見えるかを示します。

<?php 
$sql = "SELECT Name, Price FROM Library.Products WHERE ProductID = " . $product_id; 
echo "<table border=\"1\" padding=\"3\" width=\"650px\"><tr><th>Name</th><th>Description</th><th>Price</th><th width=\"80px\">Image</th></tr>"; 
    echo "<tr>"; 
     echo "<td>" .$product_id . "</td>"; 
     echo "<td> Hi</td>"; 
     echo "<td></td>"; 
     echo "<td align=\"center\"><img alt=\"\" src=\"productImages/".$product_id.".jpg\ width=\"120\" height=\"120\"/></td>"; 
    echo "</tr>"; 
echo "</table><br>"; 
document. 
?> 

だからある意味で、私はcatalogue.php内の変数$product_idに割り当てられるproductInfo(key)でキーを回したいです。助けてくれてありがとう。

+0

おっと!ただ2つの小さな間違いを修正しました。私の答えはうまくいくはずです( 'target =" _ blank "と' id = "key" 'を追加しました)。 –

+0

それは動作しますが、それは私が何をしているのではありません。私はホームページにとどまりたいが、home.phpを離れずに変数を送って、divタグにcatalogue.phpと投稿を入れることができる。 – Mparry27

+0

だから、Ajaxが必要だ。完了!私の答えを編集してajax版を追加しました。 –

答えて

0

あなたは目に見えない形追加することができます一つの小さな変更を必要とする

<script> 
    function productInfo(key) { 
     //Send key to catalogue.php 
     document.getElementById("key").value = key; 
     document.getElementById("frm").submit(); // SUBMIT FORM. 
    } 
</script> 
<form action="catalogue.php" method="post" id="frm" 
     style="display:none" target="_blank"> 
    <input type="text" id="key" name="key"/> 
</form> 

がcatalogue.php:

<?php 
$product_id = $_POST[ "key" ]; //<================== VALUE FROM THE INVISIBLE FORM. 
$sql = "SELECT Name, Price FROM Library.Products WHERE ProductID = " . $product_id; 
echo "<table border=\"1\" padding=\"3\" width=\"650px\"><tr><th>Name</th><th>Description</th><th>Price</th><th width=\"80px\">Image</th></tr>"; 
    echo "<tr>"; 
     echo "<td>" .$product_id . "</td>"; 
     echo "<td> Hi</td>"; 
     echo "<td></td>"; 
     echo "<td align=\"center\"><img alt=\"\" src=\"productImages/".$product_id.".jpg\ width=\"120\" height=\"120\"/></td>"; 
    echo "</tr>"; 
echo "</table><br>"; 
document. 
?> 

それとも、Ajaxを使用することができます。

htmlファイル

<html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
    <script type = "text/javascript"> 
function myAjax (key) { 
$.ajax({ type : 'POST', 
      data : { 'param' : key }, 
      url : 'catalogue.php', 
      success: function (data) { 
      document.getElementById("my_div").innerHTML = data; 
      }, 
      error: function (data) { 
      alert("error"); 
      } 
     }); 
} 
function productInfo(key) { 
//Send key to catalogue.php 
myAjax(key); 
} 
    </script> 
    </head> 
    <body> 
    <button onclick="productInfo('123')">Click here to get the data</button> 
    <div id="my_div"> 
     - data will show here - 
    </div> 
    </body> 
</html> 

catalogue.php

<?php 
$key = $_POST[ "param" ]; 
echo "<table border='1'>" . 
    " <tr>" . 
    " <td>$key</td>" . 
    " <td>ABC</td>" . 
    " </tr>" . 
    "</table>"; 
?> 
関連する問題