php - 从 mysql 查询创建 token 列表到 json

标签 php mysql arrays json twitter-typeahead

我最近开始在一个新项目中使用 twitter typeahead 插件,但遇到了一些障碍,我正在查询 1 个表中的 2 列以获取要搜索的数据,但是当我只搜索 1 列时,它工作正常当移动到两个时,我相信我需要开始使用 token 进行搜索。

但是我无法找到一种方法将 token 添加到我的数组中,然后将它们编码为 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;

token 行很好地进入数组,但是我不确定如何格式化它,我知道它需要采用

的格式
tokens:[
"token1", "token2", "token3"
]

token 将是 NAME 和 CLID 的值,我如何创建 token 以理想地如下所示:

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

最佳答案

通过阅读更多内容设法弄清楚,要创建一个嵌套的 json 元素,您需要通过 arry 中的数组添加

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;
}

关于php - 从 mysql 查询创建 token 列表到 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20121403/

相关文章:

mysql - VB6 在模块中声明网页浏览器

php - 带有 date_add 的 Mysql unix_timestamp 没有给出正确的时间戳

php - 按字符串选择表(FROM)

php - XDebug 无法连接到客户端

php - 使用 MySQL 和 PHP 获取非重复的随机元素

arrays - Scala Array.apply 的魔力是什么

php - 为什么按值分配给数组元素的变量(在较早的按引用分配之后)会在数组元素更改时更改?

php - 强制 phpmailer 发送空邮件

PHP:使用输入和输出参数调用 MySQL 存储过程(不是 "INOUT")

javascript - 如何通过 javaScript 从 json 访问数据?