2017-01-09 6 views
0

データベースにデータが保存されています(Charles、Dale、Jack、William)。私はデータベースからデータを抽出するためにPHPコードを使用しました。これは最初にすべてのデータを表示します。今私は4つの上記の名前のいずれかを書くことができる1つのテキストフィールドを追加し、キーアップではtextfieldに書かれた名前だけが表示されます。しかし、何も表示されないテキストフィールドをクリアすると問題が発生します。私は、テキストフィールドをクリアすると、データベースから抽出されたすべてのデータを表示する必要があります。キーアップでバックスペースを処理する方法

下記は私のjQueryコードです。

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

$result2 = mysql_query($sql); 

注意すべきいくつかのこと:

$('#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%' "); 

答えて

0

です:

  1. mysql_*機能PHPバージョン7では削除されているため、使用しないでください。
  2. あなたのコードはSQLインジェクションの脆弱性がありました(この例もあります)。

mysqli_*機能またはPDOを使用して移行する必要があります。

関連する問題