У меня есть страница index.php, содержащая поле поиска, в котором пользователь может искать по имени, backendsearch.php передает данные в это поле поиска.
все работает, кроме события клика из результатов поиска ..
я хочу создать то, что после того, как пользователь щелкнет имя, пользователь будет переведен на страницу update.php, содержащую имя и другую информацию, соответствующую результату поиска.
это то, что у меня есть до сих пор:
это backendsearch.php
<?php
$link = mysqli_connect("localhost", "root", "", "ajax_crud");
if ($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
if (isset($_REQUEST['term'])){
$sql = "SELECT * FROM employees WHERE name LIKE ?";
if ($stmt = mysqli_prepare($link, $sql)){
mysqli_stmt_bind_param($stmt, "s", $param_term);
$param_term = $_REQUEST['term'] . '%';
if (mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if (mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo "<p>" . $row["name"] . "</p>";
}
}
else{
echo "<p>No matches found</p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
}
mysqli_stmt_close($stmt);
}
mysqli_close($link);
?>
и это мой код index.php, который содержит указанное окно поиска: (в включены только соответствующие строки)
<script type = "text/javascript">
$(document).ready(function(){
$('.search-box input[type = "text"]').on("keyup input", function(){
var inputVal = $(this).val();
var resultDropdown = $(this).siblings(".result");
if (inputVal.length){
$.get("backend-search.php", {term: inputVal}).done(function(data){
resultDropdown.html(data);
});
} else{
resultDropdown.empty();
}
});
$(document).on("click", ".result p", function(){
$(this).parents(".search-box").find('input[type = "text"]').val($(this).text());
$(this).parent(".result").empty();
var link = "update.php?name=$name";
console.info(link);
window.location = link;
});
});
</script>
и окно поиска:
<div class = "search-box">
<input type = "text" autocomplete = "off" placeholder = "Search" />
<div class = "result">
</div>
</div>
Я просто не мог найти правильный способ написать сценарий, который переведет пользователя на страницу update.php, которая соответствует имени результат.
заранее спасибо тем, кто может помочь.
Я попытался изменить этот код из моего backendsearch.php echo "<p>". $ row ["имя"]. "</p>"; на эхо ('<p> <a href = "update.php?id=%s">% s </a> </p>', $ row ['id'], $ row ['name']) ; но это не сработало .. может кто-нибудь помочь мне исправить этот код?
Не могли бы вы добавить console.info ($ (это) .text ()) сразу после console.info (ссылка) и опубликовать оба выхода?
только что попробовал, к сожалению все то же самое ..



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


$name- это переменная PHP? Если это так, вам нужноechoи открыть с помощью тегов<?php.