我正在使用bootstrap的typeahead,我想知道如何为每个结果返回一个包含多个数据的JSON数组。
例如,我希望能够为每个结果返回两个数据,name
和description
。怎么会这样做?
答案 0 :(得分:0)
执行此操作的唯一方法是使用"多个数据集"如以下链接所述: http://twitter.github.io/typeahead.js/examples/#multiple-datasets
您必须创建2个不同的来源:一个用于" name"一个用于"描述"。
如果您不想使用"说明"进行搜索,则可以使用以下代码: http://twitter.github.io/typeahead.js/examples/#custom-templates 您可以使用"名称"进行搜索。并且名称旁会显示说明。
答案 1 :(得分:0)
此代码将使输出在您键入时显示两列的结果。您只需更改search.php
代码,而不是任何其他地方。试试并提供反馈。
$key=$_GET['key'];
$mysqli = new mysqli("localhost", "root", "", "yourbd");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
$mysqli->set_charset("utf8");
$result = $mysqli->query("select * from yourtb where yourcolumn LIKE '%{$key}%'");
if (!$result) {
die(mysqli_error($mysqli));
}
$rows = array();
while($r = mysqli_fetch_array($result)) {
$rows[] = $r['col1']. ' - ' . $r['col2'];
}
echo json_encode($rows);