如何在PHP / PDO中创建动态文本字段?

时间:2012-07-16 15:14:02

标签: php mysql pdo textfield dynamic-data

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

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

我想要的是一个动态文本字段,用于搜索数据库中的usertable,并返回与搜索字段中的字母匹配的用户名,例如用户输入:

S-A-M和textfield返回来自DB,SamSmith,SamJones,SamBlah的所有相关用户,然后返回用户类型

3 个答案:

答案 0 :(得分:3)

你正在寻找的是“自动完成”

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

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

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

希望这有帮助

答案 1 :(得分: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"/>

答案 2 :(得分:0)

  1. 进行查询以返回用户数组。
  2. 然后将用户循环到HTML并用javascript代码将它们用Jquery Autocomplete包围。

    $query = "SELECT id,username FROM users";
    $result = mysql_query($query) or die(mysql_error());
    
    while($row = mysql_fetch_array($result))
    {
       $users[]  = $row;
    }
    
  3. 然后在jquery autocompletes available标签内循环用户名