Создание списка токенов из запроса mysql в json

Я недавно начал использовать надстройку twitter typeahead для нового проекта и столкнулся с небольшой загвоздкой, я запрашиваю 2 столбца в 1 таблице для данных для поиска, у меня все работает нормально, когда я просто ищу 1 столбец, однако при переходе к во-вторых, я считаю, что мне нужно начать использовать токены для поиска.

однако я не могу найти способ добавить токены в свой массив, чтобы затем закодировать их в json и вернуться к поиску

это мой код до сих пор:

$dbh = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', '');

$stmt = $dbh->prepare('SELECT NAME, CLID FROM customer');
$stmt->execute();

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $row_array['NAME'] = $row['NAME'];
    $row_array['CLID'] = $row['CLID'];
    $row_array['tokens'] = "";
    $results[] = $row_array;
}

$json = json_encode($results);
echo $json;
return $json;

строка токенов входит в массив в порядке, но я не уверен, как ее форматировать, я понимаю, что она должна быть в формате

tokens:[
"token1", "token2", "token3"
]

токены будут значениями NAME и CLID, как я могу создать токены, чтобы они выглядели так:

{
name: "name",
CLID: "CLID",
tokens: [
"name1", "clid1", "name2", "clid2", "name3", "clid3"...
]
}

person Scott H    schedule 21.11.2013    source источник
comment
вы пробовали: $row_array['tokens'] = $row[NAME]; $row_array['токены'] = $row[CLID];   -  person Millard    schedule 21.11.2013
comment
да, я пробовал это, однако он возвращает только один набор токенов, например: [{NAME:maintest,CLID:02147483647,tokens:02147483647}]   -  person Scott H    schedule 21.11.2013


Ответы (1)


Удалось понять это, прочитав еще немного, чтобы создать вложенный элемент json, который вам нужно добавить через массив в массив

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $row_array['NAME'] = $row['NAME'];
    $row_array['CLID'] = $row['CLID'];
    $row_array['tokens'] = array($row["NAME"],$row["CLID"]); //create new array and add the tokens you want
    $results[] = $row_array;
}
person Scott H    schedule 21.11.2013