簡體   English   中英

Twitter Typeahead標簽從MySQL獲取數據

[英]Twitter Typeahead Tags get data from MySQL

我試圖在表單中進行一個小的標簽輸入,我想直接從MySQL中獲取數據。

我找到了一個制作本地版本的教程,該教程將數據存儲在頁面上的數組中,並且工作正常,但是我希望它能夠從MySQL中即時檢索數據。

我嘗試將腳本從本地修改為遠程,並且我已經成功地使用Json通過遠程文件建立了與MySQL數據庫的連接-我只是無法弄清楚如何使查找與輸入字段一起使用,因此Typeahead(自動完成)對輸入做出反應。

我不是jQuery中的Oracle,但我正在嘗試學習:-)

我的代碼如下所示:

tags.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%'";

很抱歉,您發布的問題有這么明顯的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM