【问题标题】:Creating token list from mysql query into json从mysql查询创建令牌列表到json
【发布时间】:2013-11-21 12:47:12
【问题描述】:

我最近开始在一个新项目中使用 twitter typeahead 插件并且遇到了一些问题,我正在查询 1 个表中的 2 列以搜索要搜索的数据,但是当我只搜索 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 行进入数组很好但是我不确定如何格式化它,我知道它需要采用

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

标记将是 NAME 和 CLID 的值,我如何才能创建理想的标记如下:

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

【问题讨论】:

  • 你试过了吗:$row_array['tokens'] = $row["NAME"]; $row_array['tokens'] = $row["CLID"];
  • 是的,我试过这个,但是它只返回一组令牌,例如:[{"NAME":"maintest","CLID":"02147483647","tokens":"02147483647 "}]

标签: php mysql arrays json twitter-typeahead


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    相关资源
    最近更新 更多