gpt4 book ai didi

php - Twitter Typeahead 标签从 MySQL 获取数据

转载 作者:行者123 更新时间:2023-11-30 22:32:13 30 4
gpt4 key购买 nike

我想在一个表单中做一个小的标签输入,我想直接从 MySQL 获取数据。

我找到了一个关于制作本地版本的教程,其中数据存储在页面上的一个数组中,这工作得很好,但我希望它能够动态地从 MySQL 中检索数据。

我已经尝试将脚本从本地修改为远程,并且我已经成功地使用 Json 通过远程文件连接到 MySQL 数据库 - 我只是不知道如何使查找与输入字段一起工作,以便Typeahead(自动完成)对输入使用react。

我不是 jQuery 的 oracle,但我正在努力学习 :-)

我的代码是这样的:

标签.php

<!-- Bootstrap styling for Typeahead -->
<link href="/dist/css/tokenfield-typeahead.css" type="text/css" rel="stylesheet">
<link href="/dist/css/bootstrap-tokenfield.css" type="text/css" rel="stylesheet">
<link href="/docs-assets/css/pygments-manni.css" type="text/css" rel="stylesheet">
<link href="/docs-assets/css/docs.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="/dist/bootstrap-tokenfield.js" charset="UTF-8"></script>
<script type="text/javascript" src="/docs-assets/js/scrollspy.js" charset="UTF-8"></script>
<script type="text/javascript" src="/docs-assets/js/affix.js" charset="UTF-8"></script>
<script type="text/javascript" src="/docs-assets/js/typeahead.bundle.min.js" charset="UTF-8"></script>

<p><strong>Using Twitter Typeahead</strong></p>
<form class="tagsform" method="post" action="/pages/tagscompile.php">
<div class="form-group">
<input type="text" class="form-control tokenfield-typeahead" name="tags" />
</div>
<div class="form-group">
<input type="submit" class="btn btn-default" name="send" value="SEND">
</div>
</form>

<script>
var engine = new Bloodhound({

datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
'cache': false,
url: '/pages/tags_engine.php?q=%QUERY',
wildcard: '%QUERY',
filter: function (data) {
return data;
}
}
});

engine.initialize();

$('.tokenfield-typeahead').tokenfield({
typeahead: [null, { source: engine.ttAdapter() }]
});
</script>

我的 tags_engine.php 文件如下所示:

<?php include($_SERVER['DOCUMENT_ROOT'].'/settings.inc.php');

$q = strtolower($_GET["q"]);
if (!$q) return;

$sql = "select tags as value from tags";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_assoc($rsd)) {
$rows[]=$rs;
}
// I am working on learning MySQLi but until that sticks, this MySQL will do.
print json_encode($rows);
?>

非常感谢您的帮助。

最佳答案

有效 - 问题当然出在 MySQL SELECT 中。从查询中进行此搜索后,它起作用了。

$sql = "select tags as value from tags WHERE tags LIKE '$q%'";

我很抱歉发布这个错误如此明显的问题。

关于php - Twitter Typeahead 标签从 MySQL 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33563082/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com