2017-01-22 10 views
0

ユーザーIDを隠しフィールド(value = "userid"のようなもの)に保存しようとしています。 私は正常に動作しているオートコンプリートフィールドを持っていますが、これもユーザーIDと同じ姓名と一緒に表示されます。オートコンプリート先頭はユーザーIDを隠しフィールドに格納します

これは私がこれまで何をやったかである:

HTMLフォーム入力

<input class="typeahead form-control" type="text"> 

Javascriptコード

PHPコード

$select_user = mysqli_prepare($conn, "SELECT user_id, user_first, user_last FROM users WHERE user_first LIKE '%".$_GET['query']."%' LIMIT 10"); 
mysqli_stmt_execute($select_user); 
mysqli_stmt_bind_result($select_user, $clientid, $clientfirstname, $clientlastname); 
$json = []; 
while (mysqli_stmt_fetch($seleziona_utente)) { 
$json[] = $clientfirstname.' '.$clientlastname.' '.$clientid; 

} 
echo json_encode($json); 

多くおかげで

+0

あなたは '$ clientid'を' php'ファイルに連結しています。 '$ clientlastname'。それがuser_idを見ることができる理由です。 – EhsanT

+0

こんにちは、お返事ありがとうございます。ですから、$ clientidを連結から取り除いても、入力にユーザーIDを表示することはできませんが、入力に名前= "$ clientid"のユーザーIDを挿入する方法、または別の方法でユーザーIDを挿入する方法はまだ分かりません隠された入力。ありがとう – pippo

+0

'process()'はあなたのカスタム関数ですか? – EhsanT

答えて

0

私はこれをtypeaheadではなくjquery uiを使用して並べ替えることができました。これは、今私が持っている唯一の問題は、私はので、私は」役=「管理者」がすべてのユーザーと特定のグループに属するすべてのユーザーを選択する必要があり、データベースへのクエリでコード

$(document).ready(function(){ 
    var ac_config = { 
     source:'controllers/ctrl_inbox_client_search.php', 
    select: function(event, ui) { 
     $('#id_cliente').val(ui.item.value); 
     event.preventDefault(); 
     $("#clienti").val(ui.item.label); },  
     minLength:1 
    }; 
    $("#clienti").autocomplete(ac_config); 
}); 

ですデータベース

SELECT user_id, user_first, user_last, user_role FROM users WHERE user_role = 'admin' UNION ALL SELECT user_id, user_first, user_last, user_role FROM user_group_join LEFT OUTER JOIN users ON user_group_join . user_join_id = users . user_id WHERE user_group_join . group_join_id = 2 AND users . user_id NOT LIKE 59 AND user_role = 'client' AND users . user_first LIKE '%{$term}%' AND users . user_last LIKE '%{$term}%' 

ユーザーの検索が、それはまた、彼らの名前は、私が検索ボックスに入力したものと異なる場合でも、管理者を示していた場合、問題があるにこのクエリを使用しまし。 誰かが私を助けることができますか?

関連する問題