0

因此,我正在使用mention.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>
4

1 回答 1

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];
}
于 2013-10-04T11:35:27.660 回答