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);
として入力タイプの値を取得して送信することができます。 –