Autosuggest og prepared statement
Hej,Jeg har følgende:
soeg.php:
<div id="bund"><h2>Ring til</h2>
<div class="search-box">
<input type="text" id="tlf" autocomplete="off" placeholder="Ring til..." autofocus/>
<div class="result"></div>
</div>
<button onclick="window.location.href='/aaa/soeg.php'">Ny søgning</button>
</div>
tlf.js:
$(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){
// Display the returned data in browser
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();
});
});
backend-search.php:
<?php
$dbc_xxx = mysqli_connect('xxx', 'xxx', 'xxx', 'xxx') or die($fejlforb_db);
$r = mysqli_query($dbc_xxx, "SET NAMES 'utf8'");
if($dbc_xxx === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
if(isset($_REQUEST['term'])){
$sql = "SELECT * FROM xxx.telefon WHERE navn OR beskrivelse OR adresse LIKE ?";
if($stmt = mysqli_prepare($dbc_xxx, $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><b><em>'. $row['beskrivelse'] .' - '. $row['navn'] .' - '. $row['adresse'] .'</em></b>
<a href="tel:'. $row['tlf'] .'" title="Ring til '. $row['beskrivelse'] .' '. $row['navn'] .'">'. $row['tlf'] .'</a>
echo '</p>';
}
} else {
echo "<p>Ingen fundne telefonnumre</p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($dbc_xxx);
}
}
mysqli_stmt_close($stmt);
}
mysqli_close($dbc_xxx);
?>
Problemet er at når jeg skriver i søgefeltet ønsker jeg at der søges på felterne navn, beskrivelse eller adresse via sql-querien, men det sker ikke.
Forslag?