无法通过AJAX调用从mysql获取数据

时间:2016-05-25 05:49:07

标签: php jquery html mysql ajax

我在尝试从数据库中获取数据时遇到了麻烦。代码只会从数据库中检索第一行数据。数据是正确的,但是我在html输入字段中输入的信息与添加的新行中的数据相同并不重要。解决这个问题的任何帮助都会很棒。

如果有人要指出我的代码中混合了“POST”和“GET”,我可以理解这是一个可能的问题,但是当匹配时不会从数据库中检索数据,除了表中的第一行数据。

任何帮助都会很棒!!!感谢所有提前回答的人。

我的HTML代码:

的index.php

    <div class="row">
        <div class="col-md-1"></div>
            <div class="col-xs-3">
            <h3 class="h4 text-center"><input type="text" name="barcode" id="barcode" size="90" class="col-md-9" value="" method="GET" placeholder="Barcode / Product Name"></h3>

             </div>
        </div>
    <br />
    <div class="row">
        <div class="col-md-1"><p class=""></p></div>
        <div class="col-md-6">
            <table id="report" class="table table-bordered table-hover">
                <thead>
                    <tr>
                        <td>SKU</td>
                        <td>Model</td>
                        <td>Item Description</td>
                        <td>Qty</td>
                    </tr>
                </thead>
                <tbody>
                 <?php get_item(); ?>
                </tbody>
            </table>
       </div>
    </div>

这是我的AJAX脚本

<script>
var inp = $("#barcode");
// where #txt is the id of the textbox

$("#barcode").keyup(function (event) {
if (event.keyCode == 13)
{
    if (inp.val().length > 0)
    {
        $.ajax({
            url: "index.php",
            type: "GET", //Also tried POST method. Didn't work either
            data: {id: inp.val()},
            success: function(response)
            {
                values = response.split(' - ');
                $('#report tr:last').after(
                    "<tr class='table-row'>" +
                    "<td class=''>" + values[1] + "</td>" +
                    "<td class=''>" + values[2] + "</td>" +
                    "<td class=''>" + values[3] + "</td>" +
                    "<td class=''>" + values[4] + "</td></tr>");
            }});
    }
    $('input[name=barcode]').val('');
    }

 });
</script>

这是我的PHP代码

function get_item(){
global $con;    
if(!empty($_POST))
{
    $query = query("SELECT * FROM items");
        confirm($query);
    while($row = fetch_array($query)) {
        $sku = $row['sku'];
        $model = $row['category'];
        $desc = $row['description'];
        $qty = $row['qty'];

    echo($id.' - '.$sku.' - '.$model.' - '.$desc.' - '.$qty);
    die();
    }
}
}

1 个答案:

答案 0 :(得分:2)

die();函数调用移出while循环。它在第一个循环结束时被称为rigth,终止你的php脚本。