我正在尝试向某些表单字段添加一个自动完成标记器脚本,我遇到的一个问题是,如果一个人为该字段保存多个值,自动完成建议会以他的所有值作为一个长值而不是单个值返回用逗号分隔的值。我首先尝试简单地分解该值,但它没有在 json 编码中正确格式化它。
这是我的 php 文件:
//connection information
$host = "localhost";
$user = "myuser";
$password = "mypass";
$database = "mydb";
$param = ($_GET["term"]);
//make connection
$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
//query the database
$query = mysql_query("SELECT cb_activities FROM jos_comprofiler WHERE cb_activities REGEXP '^$param'");
//build array of results
for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
$row = mysql_fetch_assoc($query);
$activities[$x] = array(cb_activitiesterm => $row[cb_activities]);
}
//echo JSON to page
$response = $_GET["callback"] . "(" . json_encode($activities) . ")";
echo $response;
mysql_close($server);
这给出了这样的输出: [{"cb_activities":"Kicking Cats,"},{"cb_activities":"baseball,hockey,"}] 但我需要它像这样输出: [{"cb_activities":"Kicking猫,"},{"cb_activities":"棒球,"},"cb_activities":"曲棍球,"}]
我还需要找到一种方法来防止填充重复条目,例如现在说 10 个人都选择了踢猫作为值,它将在自动完成建议中显示 10 次。
如何设置它以正确分隔逗号,然后清除重复值?我对 json 做的不多,所以要具体一点,哈哈。