1

我有一个网站,我需要用户与其他用户互动。到目前为止,所有工作都是在 JQuery / Jquery Mobile 和 PHP 中使用 MySQL 数据库完成的。

用户需要在游戏中选择其他用户进行对战,但可能不知道他们的确切用户名。

我想要的是一个动态文本字段,它在数据库中搜索用户表,并拉回与搜索字段中的字母匹配的用户名,例如用户类型:

SAM 和文本字段从 DB、SamSmith、SamJones、SamBlah 返回所有相关用户,然后作为用户类型

4

3 回答 3

3

您要查找的内容称为“自动完成”

你可以自己做,但是已经开发了一些插件来帮助你。

http://jqueryui.com/demos/autocomplete/

您仍然需要对查询进行编码以获取服务器端的用户列表。

希望这可以帮助

于 2012-07-16T15:17:48.513 回答
1

这个 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"/>
于 2012-07-16T15:28:49.093 回答
0
  1. 进行查询以返回用户数组。
  2. 然后将用户循环到 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自动完成可用标签中循环用户名

于 2012-07-16T15:21:24.617 回答