1

ユーザーが他のユーザーと対話する必要がある Web サイトがあります。これまでのところ、JQuery / Jquery Mobile と PHP と MySQL データベースですべてが行われています。

ユーザーは、ゲームで対戦する他のユーザーを選択する必要がありますが、正確なユーザー名がわからない場合があります。

私が欲しいのは、DBのユーザーテーブルを検索し、検索フィールドの文字に一致するユーザー名を引き戻す動的テキストフィールドです。たとえば、ユーザーは次のように入力します。

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 に答える