您好,欢迎光临本网站![请登录][注册会员]  
文件名称: jQuery(Ajax)/PHP/MySQL实现自动完成功能
  所属分类: PHP
  开发工具:
  文件大小: 19kb
  下载次数: 0
  上传时间: 2008-07-21
  提 供 者: ajax_*****
 详细说明: 好,我们现在开始。

JavaScript代码


--------------------------------------------------------------------------------





--------------------------------------------------------------------------------

JS的解释

好,从上面的代码看到,我们需要连接到一个叫做rpc.php的文件,这个文件处理所有的操作。

lookup函数使用从文本输入框中得到的单词然后使用jQuery中Ajax的方法POST把它传给rpc.php。

如果输入字符 ‘inputString’是‘0’(Zero,译注:在这里是指在搜索框中没输入任何内容),建议框就被隐藏,这也很人性化,你想,如果在搜索框中没有输入任何东西,你也不期望会出现个建议提示框。

如果输入框中有内容,我们就得到了这个 ‘inputString’并传递给rpc.php页面,然后jQuery 的$.post()函数被使用,如下:

$.post(url, [data], [callback])

‘callback’部分可以关联一个函数,这个比较有意思,只有在数据(data)被加载成功的时候才会执行(译注:此处为意译,没看懂原文:<).

如果返回的数据(data)不为空(也就是说,有东西要显示),那就显示搜索提示框并且使用返回的数据(data)来代替其中的html代码。

就这么简单!

PHP后台程序(rpc.php)

如你所知(译注:不好意思,看王小波就学会了这么个口头禅),我的php后台程序都叫做rpc.php(RPC指远程过程调用),而没用它实际执行的功能来命名,但是也还不错了。


--------------------------------------------------------------------------------

// PHP5 Implementation - uses MySQLi.
$db = new mysqli(‘localhost’, ‘root’ ,”, ‘autoComplete’);
if(!$db) {
// Show error if we cannot connect.
echo ‘ERROR: Could not connect to the database.’;
} else {
// Is there a posted query string?
if(isset($_POST[‘queryString’])) {
$queryString = $_POST[‘queryString’];
// Is the string length greater than 0?
if(strlen($queryString) >0) {
// Run the query: We use LIKE ‘$queryString%’
// The percentage sign is a wild-card, in my example of countries it works like this…
// $queryString = ‘Uni’;
// Returned data = ‘United States, United Kindom’;
$query = $db->query("SELECT value FROM countries WHERE value LIKE ‘$queryString%’ LIMIT 10");
if($query) {
// While there are results loop through them - fetching an Object (i like PHP5 btw!).
while ($result = $query ->fetch_object()) {
// Format the results, im using
  • for the list, you can change it.
    // The onClick function fills the textbox with the result.
    echo ‘
  • ’.$result->value.‘
  • ’;
    }
    } else {
    echo ‘ERROR: There was a problem with the query.’;
    }
    } else {
    // Dont do anything.
    } // There is a queryString.
    } else {
    echo ‘There should be no direct access to this script!’;
    }
    }

    ?>


    --------------------------------------------------------------------------------



    PHP代码解释


    鉴于代码中我已经加了很多注释,在这里我就不再说的很详细了。


    一般情况下,需要接收这个 ‘QueryString’ 然后在其最后使用通配符产生一个查询语句。


    这意味着在这种情况下,每次敲进去一个字符都需要产生一个查询语句,如果一直都这样做的话,恐怕MYSQL会受不了。但是为了尽量的简化这个过程,这种做法对一个规模较小的应用应该没什么问题。


    这段php代码你需要在自己的系统中稍作修改,比如你需要更新‘$query’到你自己的数据库,需要看在哪里放你数据库表的列名等等。


    CSS样式


    我使用的是CSS3,天哪,它真的很好用,虽然在Firefox 或者Safari浏览器上会有功能限制。



    --------------------------------------------------------------------------------




    --------------------------------------------------------------------------------

    CSS代码都很标准,没什么需要特别指出的。


    主文件HTML

    --------------------------------------------------------------------------------




    Type your county (for the demo):







    --------------------------------------------------------------------------------

    这是主文件的部分html代码,你需要添加的就是一个输入框,并且把 ‘onkeyup’ 函数设置为lookup(this.value)。另外,我建议你不要修改它的ID,如果你不想修改上面的Javascript代码的话。 ...展开收缩
    (系统自动生成,下载前可以参看下载内容)

    下载文件列表

    相关说明

    • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
    • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
    • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
    • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
    • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
    • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
     输入关键字,在本站1000多万海量源码库中尽情搜索: