我有一个网站,我需要用户与其他用户互动。到目前为止,所有工作都是在 JQuery / Jquery Mobile 和 PHP 中使用 MySQL 数据库完成的。
用户需要在游戏中选择其他用户进行对战,但可能不知道他们的确切用户名。
我想要的是一个动态文本字段,它在数据库中搜索用户表,并拉回与搜索字段中的字母匹配的用户名,例如用户类型:
SAM 和文本字段从 DB、SamSmith、SamJones、SamBlah 返回所有相关用户,然后作为用户类型
我有一个网站,我需要用户与其他用户互动。到目前为止,所有工作都是在 JQuery / Jquery Mobile 和 PHP 中使用 MySQL 数据库完成的。
用户需要在游戏中选择其他用户进行对战,但可能不知道他们的确切用户名。
我想要的是一个动态文本字段,它在数据库中搜索用户表,并拉回与搜索字段中的字母匹配的用户名,例如用户类型:
SAM 和文本字段从 DB、SamSmith、SamJones、SamBlah 返回所有相关用户,然后作为用户类型
您要查找的内容称为“自动完成”
你可以自己做,但是已经开发了一些插件来帮助你。
http://jqueryui.com/demos/autocomplete/
您仍然需要对查询进行编码以获取服务器端的用户列表。
希望这可以帮助
这个 PHP 代码对于那个 Jquery 库“autocomplete.php”很有用
<?php
$q=$_GET['q'];
$my_data=mysql_real_escape_string($q);
$mysqli=mysqli_connect($host,$user,$password,$db) or die("Database Error");
$sql="SELECT name FROM products WHERE name LIKE '%$my_data%' ORDER BY name";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error());
if($result)
{
while($row=mysqli_fetch_array($result))
{
echo $row['name']."\n";
}
} else {
echo "No Result!";
}
?>
和
<script>
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
selectFirst: true
});
});
</script>
<input id="tag" name="product_name" type="text" size="12"/>
然后将用户循环到 HTML 并用 Jquery Autocomplete 的 javascript 代码将它们括起来。
$query = "SELECT id,username FROM users";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$users[] = $row;
}
然后在jquery自动完成可用标签中循环用户名