2016-06-28 9 views
0

フロントエンドの入力からキーワード検索をPOSTしてSQLクエリで使用しようとしていますが、私のポスト値が認識されません。POSTキーワードフィルタからPHP SQLへ - POST入力が機能しない

お知らせ:未定義のインデックス: Cのキーワード:\ wamp64 \ WWW \ SQLPractice 19

行全体PHP

$host = "localhost"; 
    $user = "root"; 
    $pass = ""; 

    $databaseName = "practice_db"; 
    $tableName = "t_cars"; 

    $conn = mysqli_connect($host,$user,$pass,$databaseName); 
    $dbs = mysqli_select_db($conn, $databaseName); 
    $filter = mysqli_real_escape_string($conn, $_POST['keyword']); 

    $sql = 'SELECT * 
      FROM "$tableName" 
      WHERE (c_id LIKE "$filter" OR 
       c_brand LIKE "$filter" OR 
       c_model LIKE "$filter" OR 
       c_year LIKE "$filter" OR 
       c_color LIKE "$filter")'; 


    $result = mysqli_query($conn, $sql); 
    if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
    }   //query 
    $array = mysqli_fetch_all($result);       //fetch result  

    echo json_encode($sql); 

FRONT ENDの抜粋

上のフィルタtable.php \
...<div id="filter"> 
     <h1>Filter</h1> 
     <form name="form" action="http://localhost/SQLPractice/filter-table.php" method="post"> 
      <input type="" name="keyword" id="filter"> 
     </form> 
     <br> 
     <button>Query DB</button> 
    </div> 
</body> 
<script type="text/javascript"> 
    var filter = document.getElementById('filter'), 
     button = document.getElementsByTagName('button')[0]; 

    button.addEventListener("click", function(){filterDatabase();}); 

    function filterDatabase(){ 
     console.log("filterDatabase()"); 
     console.log($("input").val()); 
     $.ajax({          
      url: 'http://localhost/SQLPractice/filter-table.php',     //the script to call to get data   
      data: $("input").val(),      //you can insert url argumnets here to pass to api.php 
      method: "POST",       //for example "id=5&parent=6"  
      success: function(data)   //on recieve of reply 
      { 

      //Breaking CSV into array; 

      var json = data; 
      $("#filteredContent").html(data); 
+0

として入力タイプの値を取得して送信することができます。 –

答えて

2

入力ボックスIDは以下です

<input type="" name="keyword" id="filter"> 

SOあなたは何をやろうとしていることは投稿しないでGET使用しているように見える私に

data: {keyword:$("#filter").val()}, 
+0

こんにちはSaty、コメントありがとうございます。あなたの変更後、私は "無効なクエリ:" –

関連する問題