【发布时间】:2017-04-18 08:52:07
【问题描述】:
嗨。
我如何能够根据 SQL 表中的信息自动完成输入?
我尝试过的:
[CSS]
[JQUERY]
<script>
$( function() {
var availableTags = [
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '"'.$row["user_username"].'",';
}
}
?>
];
$( "#tags" ).autocomplete({
source: availableTags
});
} );
</script>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
这可行,但是当我尝试添加:
$sql = "SELECT username FROM table";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '"'.$row["username"].'",<br>';
}
}
而不是“用户名1”等的JS列表,它将不起作用。
如何使用 PHP 为自动完成语句列表选择用户名(用户名 1、用户名 2 等)?
这可以改写为“如何从 JS 数组中的 SQL 查询中回显 PHP?”
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
php代码在javascript代码中的确切位置? -
去掉
标签 -
假设您使用的是 jquery UI 自动完成包?您不能“从 JS 数组中的 SQL 查询中回显 PHP”。您可以使用 JS 向 URL 发出请求,该 URL 将返回 JSON 数据以在您的自动完成器中使用。
-
@jcorry,那不正确。当然可以。
-
哦,对了……人们仍然在他们的页面中嵌入 PHP。那么最好的选择是从查询中获取结果并对其进行 json_encode。
var avaliableTags = <?= json_encode(array_values($result->fetch_assoc())); ?>;
标签: php jquery mysql ajax autocomplete