我遵循了有关如何创建动态搜索 MySQL 数据库中的表的查找字段的教程 - 目的是通过邮政编码处理联系人查找。我已经进行了搜索,并且值(在页面上)被插入到字段中,但是我需要将所选记录的 id 获取到输入字段的 value="idhere"参数中。我已经添加了下面的 PHP 和 HTML,任何人都可以看一下并帮助解决我的问题。
JavaScript 和 CSS
<script type="text/javascript">
function getSuggestions(value) {
if(value != ""){
$.post("lookup.php", {contactPart:value}, function(data) {
$("#suggestions").html(data);
runCSS();
});
}else{
removeSuggestions();
}
}
function removeSuggestions() {
$("#suggestions").html("");
stopCSS();
}
function addText(value) {
$("#inputContact").val(value);
$("#inputContact").val() {
$(this).val()
}
}
function runCSS() {
$("#suggestions").css({
'border' : 'solid',
'border-width' : '1px'
});
}
function stopCSS() {
$("#suggestions").css({
'border' : '',
'border-width' : ''
});
}
</script>
<style type="text/css">
#suggestions {
text-align: left;
padding-left: 3px;
}
#link:hover {
background-color: #f0f0f0;
cursor: default;
}
</style>
HTML
<input type="text" name="userA" id="inputContact" onblur="setTimeout('removeSuggestions()', 200)" onkeyup="getSuggestions(this.value);" value="idhere" />
<div id="suggestions"></div>
PHP
<?php
mysql_connect("127.0.0.1", "root", "root")or die(mysql_error());
mysql_select_db("gEntry")or die(mysql_error());
$contactPart = mysql_real_escape_string(addslashes($_POST['contactPart']));
$result = mysql_query("SELECT id, title, firstname, lastname, postcode FROM contact WHERE postcode LIKE '%".$contactPart."%'")or die (mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo "<div id='link' onClick='addText(\"".$row['id']. ' - ' .$row['title']. ' ' .$row['firstname']. ' '.$row['lastname']."\");'>" . $row['id'] . ' - ' . $row['title'] . ' ' . $row['firstname'] . ' ' . $row['lastname'] . ' - ' . $row['postcode'] . "</div>";
}
?>
我使用标准 mysql 语法,因为 mysqli 无法在我的服务器上运行。
提前致谢
最佳答案
我不知道你想把你的id放在哪里,但我建议你返回json对象,这样你就可以做你想做的事。我会这样做:
$row = mysql_fetch_assoc($result);
$json['id'] = $row['id'];
$json['title'] = $row['title'];
$json['firstname'] = $row['firstname'];
$json['lastname'] = $row['lastname'];
echo json_encode($json);
然后在客户端,您可以构建您的 div 并将您的 id 放在您想要的位置:
$.post("lookup.php", {contactPart:value}, function(data) {
var message = data.id+" - "+data.title+" "+data.firstname+" "+data.lastname;
var resultdiv = "<div id='link' onClick='addText('"+message+"')>"+message+"</div>";
$("#suggestions").html(resultdiv);
//put your data.id where you need to put it
$(this).val(data.id);
runCSS();
}, "json");
关于php - JQuery 和 PHP 查找字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6503584/