2014-02-27 46 views
0

這不是問題,但我想了解如何獲得其他價值。Autocomplete drupal

function search_autocomplete($string) { 
    $matches = array(); 
    $temp= array(); 


$query = db_select('user','s'); 

    $return = $query 
    ->fields('s') 
    ->condition('lastname', '%' . db_like($string) . '%', 'LIKE') 
    ->range(0, 10) 
    ->execute(); 

    foreach ($return as $row) { 
    $matches[$row->user_id] = check_plain($row->lastname).' '.($row->firstname); 

    } 
    drupal_json_output($matches); 
} 

現在當搜索框出現時,我開始按姓氏輸入我得到的用戶讓我們說,Doe約翰。但是當我按搜索按鈕,我得到他的user_id。

enter image description here

我知道當我改變USER_ID到讓說姓我得到的姓氏當我搜索。

現在我的問題是如何獲得單擊搜索時的姓氏和名字,但發送user_ID。

回答

0

實體引用模塊通過將UID括號中的名字後處理它:

foreach ($return as $row) { 
    $key = check_plain($row->lastname).' '.($row->firstname).' ('.$row->user_id].')'; 
    $matches[$key] = check_plain($row->lastname).' '.($row->firstname); 
} 

另一個(但更復雜的)選擇是創建一個隱藏字段來存儲在UID

+0

。嗯,它給我的價值。它沒有隱藏它。我嘗試了幾件事情,但user_id仍然可見... – 2thecore

+0

是的,在名稱後面的括號中可以看到uid。如果你不希望它可見,那麼你需要使用隱藏字段。 –