如何在密钥中处理退格

时间:2017-01-09 13:23:53

标签: php jquery ajax

我有一个存储在数据库中的数据(Charles,Dale,Jack,William)。我使用PHP代码从数据库中提取数据,数据库最初显示所有数据。现在我添加一个文本字段,我可以在其中编写上述四个名称中的任何一个,而在keyup上只显示写在textfield上的名称。但是当我清除文本字段时它没有显示任何内容我遇到了问题。我想在清除文本字段时显示数据库中提取的所有数据。

下面给出的是我的jQuery代码。

$('#search_data').keyup(function() {
    var search_data = $('#search_data').val();
    $.ajax({
        type: "POST",
        url: 'db.php',
        data: {search: search_data},
        dataType: 'html',
        success: function(result) {
            $(".container").html(result);
        }
    });
});

<input type="text" id="search_data" class="col-xs-2">
<input type="submit" id="search_button" class="btn-info go inline" value="Search" style="cursor:pointer; position:absolute; ">

下面给出的是我的sql代码

$result2 = mysql_query("SELECT * FROM employee WHERE Employee_name LIKE '%$s%' ");

1 个答案:

答案 0 :(得分:0)

如果您想在输入为空时选择所有内容,您可以执行以下操作:

$sql =  "SELECT * FROM employee";
if (!empty($s)) {
   $sql .= " WHERE Employee_name LIKE '%".mysql_real_escape_string($s)%."'"; 
}

$result2 = mysql_query($sql);

有几点需要注意:

  1. mysql_*函数已在PHP 7中删除,不应使用。
  2. 您的代码(并且此示例可能仍然)容易受到SQL注入攻击。
  3. 您必须迁移到使用mysqli_*函数或PDO和预准备语句。