Я постараюсь объяснить мою проблему, и я надеюсь, что вы мне поможете. Я создаю базу данных с именем go_city_list и сохраняю в ней базу данных city_name и URL-адрес. Вот так я хочу работать с индексной страницей. Когда пользователь посещает индексную страницу, он имеет форму поиска в режиме реального времени, когда пользователь вводит название города, поиск покажет доступные города из базы данных, когда пользователь найдет соответствующий город при отправке, он будет перенаправлен в выбранный город. Проблема заключается в следующем, я создал форму поиска в режиме реального времени, которая отображает только доступные города из базы данных, а не перенаправление кода или onClick, чтобы перенаправить пользователя на следующую страницу. Я покажу вам свой код, чтобы понять, как решить этот код или какой код использовать для решения моей проблемы. ПРИМЕЧАНИЕ: я знаю, что могу создать список выбора и поместить код JavaScript 'onclick = "location.href =' www.yoursite.com ';"', но мне нужно сделать так, как я пишу. Спасибо всем.
Код индексной страницы:
<html>
<head>
<title>Index page</title>
<script type="text/javascript">
$(document).ready(function(){
$('.search-box input[type="text"]').on("keyup input", function(){
/* Get input value on change */
var inputVal = $(this).val();
var resultDropdown = $(this).siblings(".result");
if(inputVal.length){
$.get("cgi/backend-search.php", {term: inputVal}).done(function(data){
// Display the returned data in browser
resultDropdown.html(data);
});
} else{
resultDropdown.empty();
}
});
// Set search input value on click of result item
$(document).on("click", ".result p", function(){
$(this).parents(".search-box").find('input[type="text"]').val($(this).text());
$(this).parent(".result").empty();
});
});
</script>
</head>
<body>
<form class="card card-sm go-rsfip">
<div class="card-body row no-gutters align-items-center">
<div class="col-auto">
<i class="fas fa-search h4 text-body"></i>
</div>
<div class="col search-box">
<input class="form-control form-control-lg form-control-borderless" autocomplete="off" type="text" placeholder="Choose city...">
<div class="result"></div>
</div>
<div class="col-auto ml-3">
<div class="go-rsbipd">
<button class="btn btn-lg btn-success go-rsbip" type="submit">Next</button>
</div>
</div>
</div>
</form>
</body>
</html>
Код для backend-search.php:
<?php
try{
$pdo = new PDO("mysql:host=localhost;dbname=db_name", "db_user", "db_pass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
try{
if(isset($_REQUEST["term"])){
$sql = "SELECT * FROM go_city_list WHERE city_name LIKE :term";
$stmt = $pdo->prepare($sql);
$term = $_REQUEST["term"] . '%';
$stmt->bindParam(":term", $term);
$stmt->execute();
if($stmt->rowCount() > 0){
while($row = $stmt->fetch()){
echo "<p>" . $row["city_name"] . "</p>";
}
} else{
echo "<p>Not in your city? Please, <a href=''>Request your city</a>.
</p>";
}
}
} catch(PDOException $e){
die("ERROR: Could not able to execute $sql. " . $e->getMessage());
}
unset($stmt);
unset($pdo);
?>
Если вам нужна дополнительная информация, напишите, чтобы знать. Спасибо всем:)