javascript - 使用 Ajax 显示数据库中的数据

标签 javascript php html mysql ajax

我已经从互联网或本论坛的其他问题中学习,但仍然很困惑,这段代码仍然无法正常工作。

我尝试通过组合框菜单 (1-7) 使用 onChange 显示数据,如果 0 将为空

代码 html&javascript :

<html>
    <head>
        <script src="jquery-1.9.1.js"></script>
    </head>
    <script type="text/javascript">
    $(document).ready(function() {
        $('#menu').change(function(){
            if($(this).val != 0){
                var menu_id = $(this).val();
                $.ajax({
                    type:       "GET",
                    url:        "menu.php",
                    menu_id :   menu_id,
                    dataType:   "html",
                    success: function(response){
                        $("#data-menu").html(response);
                    }
                });
            }
        }).change();
    )};
    </script>

<body>
    <table>
        <tr>
            <td>Menu</td>
            <td>
                <select name="menu" id="menu">
                    <option value="0" selected='selected'>Select Menu </option>
                    <option value="1">Menu - 1 </option>
                    <option value="2">Menu - 2 </option>
                    <option value="3">Menu - 3 </option>
                    <option value="4">Menu - 4 </option>
                    <option value="5">Menu - 5 </option>
                    <option value="6">Menu - 6 </option>
                    <option value="7">Menu - 7 </option>    
                </select>   
            </td>   
        </tr>
    </table>    
    <div id="data-menu" align="center">
        <!-- Show Data In Here -->
    </div>
</body>

这是 menu.php

<?php
$connection=mysql_connect("localhost","root","");
if(!$connection)
    die('Cant connect !! '. mysql_error());

mysql_select_db("BK",$connection);
$menu_id= $_GET['menu_id'];

$result=mysql_query("select * from show_product where menu = '" . $menu_id . "' order by show_product_id",$connection);

$no = 0; // for number

echo "<table border='1' >
    <tr>
        <td>Menu :</td>
        <td>".$menu_id."</td>
    </tr>
    <tr>
        <td>No</td>
        <td>Head Text</td>
        <td>Title Text</td>
        <td>Max Item</td>
        <td>Date</td>
        <td>Status</td>
    </tr>";

while($data = mysql_fetch_row($result))
{   
    echo "<tr>";
    $no+=1;
    echo "<td>".$no."</td>";                                    //no
    echo "<td>".$data["head_text"]."</td>";                 //head
    echo "<td>".$data["title_text"]."</td>";                    //title
    echo "<td>".$data["max_item"]."</td>";                      //max item
    echo "<td>".$data["date_added"]."</td>";                    //date
    echo "<td>".'<a href = "Edit_menu.php?id_menu='.$data["show_product_id"].'">EDIT</a>'."</td>";  // EDIT
    echo "</tr>";
}
echo "</table>";
?>

最佳答案

To send data over ajax, use data key in ajax config and data should hold object

要通过 php 访问此数据,object 的用户 key

试试这个:

$(document).ready(function() {
  $('#menu').change(function() {
    if ($(this).val != 0) {
      var menu_id = $(this).val();
      $.ajax({
        type: "GET",
        url: "menu.php",
        data: {
          menu_id: menu_id
        },
        dataType: "html",
        success: function(response) {
          $("#data-menu").html(response);
        }
      });
    }
  }).change();
});

menu_id 可以作为 $_GET['menu_id']

访问

Fiddle here

关于javascript - 使用 Ajax 显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35448213/

相关文章:

javascript - 捕获网站访问者 ISP 主机地址和 IP 地址

Javascript 在 Firefox 中加载不正确

javascript - Ajax 请求中的toggleClass 不起作用

css - 如何使用 HTML 和 CSS 创建一个完全灵活的钢琴键盘

javascript - 使用地理位置和天气 API 显示天气的问题

javascript - 在运行时更改 CKEditor 击键

php - 从 MySQL DB 中删除,表单不会在 PHP 中显示

php - 如何在 PHP 中验证电子邮件地址

javascript - 防止 javascript 搜索功能减慢浏览器速度

php - XMLHttpRequest 中的 POST 或 GET