Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php TwitterTypeahead标记从MySQL获取数据_Php_Jquery_Mysql_Typeahead.js - Fatal编程技术网

Php TwitterTypeahead标记从MySQL获取数据

Php TwitterTypeahead标记从MySQL获取数据,php,jquery,mysql,typeahead.js,Php,Jquery,Mysql,Typeahead.js,我试图在表单中输入一个小标记,我想直接从MySQL获取数据 我找到了一个制作本地版本的教程,其中数据存储在页面上的一个数组中,效果很好,但我希望它能够动态地从MySQL检索数据 我尝试将脚本从本地修改到远程,并通过远程文件成功地使用Json连接到MySQL数据库-我只是不知道如何使查找与输入字段一起工作,以便Typeahead(自动完成)对输入作出反应 我不是jQuery中的oracle,但我正在努力学习:-) 我的代码如下所示: <?php include($_SERVER['DOCUM

我试图在表单中输入一个小标记,我想直接从MySQL获取数据

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

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

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

我的代码如下所示:

<?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);
?>
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>

使用Twitter Typeahead

var引擎=新警犬({ datumTokenizer:函数(d){ return Bloodhound.tokenizers.whitespace(d.value); }, queryTokenizer:猎犬,标记,空白, 远程:{ “缓存”:false, url:“/pages/tags_engine.php?q=%QUERY”, 通配符:“%QUERY”, 过滤器:功能(数据){ 返回数据; } } }); engine.initialize(); $('.tokenfield typeahead').tokenfield({ typeahead:[null,{source:engine.ttAdapter()}] });
我的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选择中。从查询中进行此搜索后,它开始工作

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

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

它是有效的-问题当然是在MySQL选择中。从查询中进行此搜索后,它开始工作

$sql = "select tags as value from tags WHERE tags LIKE '$q%'";
我很抱歉把这个问题写得有这么明显的错误