【问题标题】:How to create a dynamic textfield in PHP / PDO?如何在 PHP / PDO 中创建动态文本字段?
【发布时间】:2012-07-15 11:21:41
【问题描述】:

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

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

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

S-A-M 和文本字段从 DB、SamSmith、SamJones、SamBlah 返回所有相关用户,然后在用户键入时返回

【问题讨论】:

    标签: php mysql pdo textfield dynamic-data


    【解决方案1】:

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

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

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

    您仍然需要编写查询代码以在服务器端获取用户列表。

    希望对你有帮助

    【讨论】:

    • 值得注意的是,数据会用PHP/PDO生成,json_encoded,在浏览器请求用户列表自动补全时发送给浏览器。
    【解决方案2】:

    这个 PHP 代码对那个 Jquery 库很有用 “自动完成.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"/>
    

    【讨论】:

      【解决方案3】:
      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自动完成可用标签中循环用户名

      【讨论】:

      • 你能说得更具体点吗?将用户循环到 HTML 是什么意思?
      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多