Я пытаюсь добавить скрипт токенайзера автозаполнения в некоторые поля формы, и у меня возникает одна проблема: если человек сохраняет несколько значений для поля, предложения автозаполнения возвращаются со всеми его значениями как одно длинное значение вместо они являются отдельными значениями, разделенными запятой. Сначала я попытался просто взорвать значение, но оно неправильно форматирует его в кодировке 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 Cats"}} {"cb_activities": "baseball"}, "cb_activities": "hockey,"}]
Мне также нужно найти способ предотвратить заполнение повторяющихся записей, например, как сейчас говорят, что у 10 человек выбраны кошки, выбравшие значение, которое будет отображаться 10 раз в предложениях автозаполнения.
Как мне установить это, чтобы правильно разделять запятые, а затем отсеивать дублирующиеся значения?
Я не так много сделал с JSON, так что будьте конкретны LOL.