У меня есть данные таблицы [Столбцы: id, вопрос, ответ на каждый вопрос есть ответ]; В frontend/UI у меня есть textarea, в то время как я вставляю вопрос в это поле, которое ищет точный вопрос в db и покажет результат. Я хочу, чтобы ajax не нужно было нажимать кнопку поиска. Я хочу, чтобы это работало, когда я вставляю вопрос в текстовую область.Поиск базы данных при вводе данных в текстовую область
код я использую
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CSS3</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
<div class="container">
<div class="jumbotron">
<h1>PHP5</h1>
<form class="form-inline">
<div class="form-group">
<input size="100" type="text" id="searchid" class="form-control" rows="10" cols="100" />
</div>
<div id="resultdiv"></div>
</form>
</div>
</div> <!-- /container -->
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
</body>
</html>
JQuery:
<script type="text/javascript">
$(document).ready(function() {
$('#searchid').keydown(function (e){ // Event for enter keydown.
if(e.keyCode == 13){
var idvalue = $("#searchid").val(); // Input value.
$.ajax({ //Ajax call.
type: "GET",
url: "search.php",
data: 'id=' + idvalue ,
type: 'json',
success: function(msg){
// Show results in textareas.
msg = JSON.parse(msg); // Line added
alert (msg);
$('#resultdiv').val(msg.answer);
}
}); // Ajax Call
} //If statement
}); //document.ready
</script>
Мой search.php
<?php
if ($_GET['id']):
$dataid = json_decode($_GET['id']);
// Connect to database.
$con = mysqli_connect("localhost","root","");
mysqli_select_db ($con,'exam_css3');
// Get the values from the table.
$sql = "SELECT answer FROM exam_css3 where question LIKE '$dataid' ";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($result))
{
$answer = $row[answer];
}
$rows = array('answer' => $answer);
echo json_encode($rows);
endif;
?>
Этот код не работает, может ли кто-нибудь помочь в этом?
что-нибудь в консоли? – Neat
Неудачная ошибка: JavaScript для Bootstrap требуется jQuery localhost /: 49 Uncaught SyntaxError: Неожиданный конец ввода – BANNA
Что означает «не работает вообще»? Вы получили сообщение об ошибке? Происходит ли поиск? Если последнее, обратите внимание, что вы ищете 'LIKE '$ dataid'', а не' LIKE'% {$ dataid}% '', поэтому вам нужно ввести ** полный и точный текст вопроса **, чтобы он Работа. Одна фраза в вопросе ** не будет работать **. – LSerni