Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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、jquery、mysql自动完成_Php_Javascript_Jquery_Ajax_Autocomplete - Fatal编程技术网

使用php、jquery、mysql自动完成

使用php、jquery、mysql自动完成,php,javascript,jquery,ajax,autocomplete,Php,Javascript,Jquery,Ajax,Autocomplete,我正在使用以下源代码:在我的项目中,但当我在“自动完成”文本框中键入时,无法获取结果 我哪里做错了 我使用以下代码 Javascript:(我为这个Javascript使用一个单独的文件,并检查这个文件是否使用alert调用,并且我能够在运行时生成警报消息。) Php: <?php echo('Your password must be at least 8 characters long'); if ( !isset($_REQUEST['term']) ) exit; $d

我正在使用以下源代码:在我的项目中,但当我在“自动完成”文本框中键入时,无法获取结果

我哪里做错了

我使用以下代码

Javascript:(我为这个Javascript使用一个单独的文件,并检查这个文件是否使用alert调用,并且我能够在运行时生成警报消息。)

Php:

<?php

echo('Your password must be at least 8 characters long');
if ( !isset($_REQUEST['term']) )
    exit;

$dblink = mysql_connect('localhost', 'root', '') or die( mysql_error() );
mysql_select_db('mydatabase');

$rs = mysql_query('select courseid, coursename, creditpoints from coursedetails where coursename like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by coursename asc limit 0,10', $dblink);

$data = array();
if ( $rs && mysql_num_rows($rs) )
{
    while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
    {
        $data[] = array(
            'label' => $row['courseid'] .', '. $row['coursename'] .' '. $row['creditpoints'] ,
            'value' => $row['courseid']
        );
    }
}

echo json_encode($data);
flush();

如果用无条件的
echo()
输出作为随机文本的前缀,破坏了预期的JSON结果,那么它将不起作用

删除:

echo('Your password must be at least 8 characters long');
否则,自动完成插件将收到

garbage text here [{"json":"won't be readable"},...]

查看AutoComplete插件的文档。看起来您使用了错误的对象属性

如您所见,没有“url”属性,请改用“source

更改此行:

$('CourseId').autocomplete({url:'autocomplete\u Courses.php',minLength:2})

$('CourseId').autocomplete({source:'autocomplete_Courses.php',minLength:2})

此外,每当我在处理来自数据库的数据时遇到问题,我通常会将变量包装在PHP的内置输出函数var_dump()中,以查看PHP如何格式化数据


问题是(除了“怎么了”)?我建议如果你在博客文章后遇到问题,与作者讨论。如果你打开
http://domain/AutoComplete_Courses.php?term=test
?我没有收到任何错误,但当我在自动完成文本框中键入前2个字母(因为minLength:2)时,我看到一个光标在旋转,但什么也没发生,它只是一直在旋转。。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,.I删除了“echo('您的密码必须至少8个字符长”);”,但它不会获取任何记录。请按照@dfsqi的建议进行一些基本调试。我如何检查$rs的值是否能够获取记录?我最初尝试使用source,但由于它不起作用,我尝试使用url!为什么要将其更改为“url?”这不是文档中的属性。至少把它改回去。好的,在上面的数据连接代码中不可能包含一个php文件吗。包括'Config.php';(具有PDO连接)正常。而不是$dblink=mysql\u connect('localhost','root','')或die(mysql\u error());mysql_select_db('mydatabase');我放了include'Config.php';[在配置文件中:$dblink=new-PDO('mysql:host=localhost;dbname=mydatabase;charset=UTF-8','root','');]但是,$dblink是空的,有没有其他的方法或者我犯了什么错误?
garbage text here [{"json":"won't be readable"},...]