2016-12-03 14 views
1

こんにちは。SQLテーブルからAJAXオートコンプリート?

SQLテーブルの情報に基づいてオートコンプリートする入力はどのようにできますか?

[CSS] 
    [JQUERY] 
    <script> 
$(function() { 
var availableTags = [ 
<?php 
    if ($result->num_rows > 0) { 
     while($row = $result->fetch_assoc()) { 
     echo '"'.$row["user_username"].'",'; 
     } 
    } 
?> 
    ]; 
    $("#tags").autocomplete({ 
    source: availableTags 
    }); 
}); 
    </script> 


<div class="ui-widget"> 
    <label for="tags">Tags: </label> 
    <input id="tags"> 
</div> 

をこれは動作しますが、私が追加しようとすると::

$sql = "SELECT username FROM table"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     echo '"'.$row["username"].'",<br>'; 
    } 
} 

代わりに "ユーザー名1" などのJSリストの、それはないだろう、私が試してみました何

作業。

オートコンプリートステートメント(ユーザー名1、ユーザー名2など)のユーザー名を選択するにはどうすればよいですか?

これは、「JS配列のSQLクエリからPHPをエコーするにはどうすればよいですか?」と言い換えることができます。

ご協力いただければ幸いです。ありがとう。

+0

正確に 'php'コードは' javascript'コードの中に入りますか? – Dekel

+0


タグ – axlj

+0

を削除します.jquery UIオートコンプリートパッケージを使用しているとしますか?あなたは 'JS配列のSQLクエリからPHPをエコーすることはできません'。 JSを使用して、オートコンプリートで使用するJSONデータを返すURLへのリクエストを行うことができます。 – jcorry

答えて

0

あなたはそれを複雑にしているようです。ここでは、PHP配列をJS変数にする必要があります。

ので、

var usernames = <?= json_encode($arr) ?>;

または

var usernames = <?php echo json_encode($arr) ?>;

は大丈夫でしょう。

<?php 

    if ($result->num_rows > 0) { 
     while($row = $result->fetch_assoc()) { 
      $usernames[] = $row["user_username"]; 
     } 
    } 

?> 

<script> 
    var usernames = <?= json_encode($usernames); ?> 
    $("#tags").autocomplete({ 
     source: usernames 
    }); 
</script> 

あなたは解決策を得たいと考えています。

関連する問題