javascript - 如何使用 javascript 发布预览表的信息

标签 javascript php mysql

嘿,我需要知道如何使用 javascript 将信息发布到另一个 php 页面以提供预览表。

这是我的 HTML,其中包含一个 onchange 标记,该标记将 ProductID 发送到该函数。

<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.
?>

因此,从某种意义上说,我想将 productInfo(key) 中的 key 分配给 Catalogue.php 中的变量 $product_id。感谢您的帮助。

最佳答案

您可以添加一个不可见的表单:

<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>

目录.php

<?php
$key = $_POST[ "param" ];
echo "<table border='1'>" .
     "  <tr>" .
     "    <td>$key</td>" .
     "    <td>ABC</td>" .
     "  </tr>" .
     "</table>";
?>

关于javascript - 如何使用 javascript 发布预览表的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37059603/

相关文章:

javascript - 可以禁用 IE6 的 jQuery 吗?

php - 什么是用于 PHP 的精简、安全的模板系统?

php - 如何在 Eloquent Laravel 中过滤计算字段(追加)?

php - mySQL查询有问题

python - Yosemite 上的 Python 2.7.6 MySQLdb 问题

javascript - 动态添加谷歌+1按钮和IE8问题

javascript - Safari ITP 2.0 存储访问 API - 在 hasStorageAccess 中嵌套 requestStorageAccess 时出现问题 - 非嵌套工作

php - 了解您必须处理/扩展的新网络系统

javascript - 如何在 MVC 5 中通过单个 Ajax POST 请求发送 ViewModel 和文件?

mysql - 在 MySQL 中处理 128 位数字