所以,我正在使用提及.js库将@mentionUser功能添加到我的应用程序中。我想知道用我构建的数组替换数组的最佳方法是什么,从我的数据库中获取用户。
我已经构建了查询以获取用户,我只是不确定如何在jQuery中使用生成的数组。
PHP代码(主要是伪代码,将使用PDO)
$fetchUsers = mysql_query("SELECT * FROM users1 WHERE organisationId = '1'");
$results = array();
while ($row = mysql_fetch_assoc($fetchUsers)) {
$results[] = $row['name'];
}
非常感谢!
<textarea id="full"></textarea>
<script>
$("#full").mention({
delimiter: '@',
users:
[{
username: "ashley"
}, {
username: "roger"
}, {
username: "frecklefart123"
}]
});
</script>
答案 0 :(得分:1)
让您的PHP脚本返回JSON编码的用户对象数组......
$fetchUsers = mysql_query("SELECT * FROM users1 WHERE organisationId = '1'");
$results = array();
while ($row = mysql_fetch_assoc($fetchUsers)) {
$results[] = array(
'username' => $row['name']
);
}
echo json_encode($results);
然后使用jQuery的$.getJSON
...
$.getJSON('/users.php', function(data) {
$("#full").mention({
delimiter: '@',
users: data
});
});
简单:)
回答你的第二个问题;使用一些正则表达式(注意我的例子非常基本)...
$string = '@matt @james @seb';
if (preg_match_all('/@(\w+)/i', $string, $matches)) {
$mentions = $matches[1];
}