`

实现搜索框输入时 提示相近词的功能

 
阅读更多
下面是三个文件的代码 把sql文件导入到mysql数据库里 修改下数据库密码为自己的  记得哦是UTF-8编码

php+mysql+ajax实现百度搜索下拉提示框
效果图

rpc.php文件

<?php   
    mysql_connect('localhost', 'root' ,'');
    mysql_select_db("test");   
    $queryString = $_POST['queryString'];       
            if(strlen($queryString) >0) {
                $sql= "SELECT value FROM countries WHERE value LIKE '".$queryString."%' LIMIT 10";
                $query = mysql_query($sql);
                while ($result = mysql_fetch_array($query,MYSQL_BOTH)){        
                    $value=$result['value'];
                    echo '<li onClick="fill(\''.$value.'\');">'.$value.'</li>';
                }

            }
    
?>




index.htm文件


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax Auto Suggest</title>
<script type="text/javascript" src="http://www.iiwnet.com/templets/niu/js/jquery.min.js"></script>
<script type="text/javascript">
    function lookup(inputString) {
        if(inputString.length == 0) {
            // Hide the suggestion box.
            $('#suggestions').hide();
        } else {
            $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
                if(data.length >0) {
                    $('#suggestions').show();
                    $('#autoSuggestionsList').html(data);
                }
            });
        }
    } // lookup
    
    function fill(thisValue) {
        $('#inputString').val(thisValue);
        setTimeout("$('#suggestions').hide();", 200);
    }
</script>

<style type="text/css">
    body {
        font-family: Helvetica;
        font-size: 11px;
        color: #000;
    }
    
    h3 {
        margin: 0px;
        padding: 0px;    
    }

    .suggestionsBox {
        position: relative;
        left: 30px;
        margin: 10px 0px 0px 0px;
        width: 200px;
        background-color: #212427;
        -moz-border-radius: 7px;
        -webkit-border-radius: 7px;
        border: 2px solid #000;    
        color: #fff;
    }
    
    .suggestionList {
        margin: 0px;
        padding: 0px;
    }
    
    .suggestionList li {
        
        margin: 0px 0px 3px 0px;
        padding: 3px;
        cursor: pointer;
    }
    
    .suggestionList li:hover {
        background-color: #659CD8;
    }
</style>

</head>

<body>


    <div>
        <form>
            <div>
                Type your county:
                <br />
                <input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
            </div>
            
            <div class="suggestionsBox" id="suggestions" style="display: none;">
                <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" />
                <div class="suggestionList" id="autoSuggestionsList">
                    &nbsp;
                </div>
            </div>
        </form>
    </div>
</body>
</html>





sql数据库autoComplete.sql文件(导入到mysql)

-- phpMyAdmin SQL Dump
-- version 3.3.5
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2010 年 12 月 09 日 02:36
-- 服务器版本: 5.0.22
-- PHP 版本: 5.2.14

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- 数据库: `test`
--

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

--
-- 表的结构 `countries`
--


CREATE DATABASE test DEFAULT CHARACTER SET UTF8;

CREATE TABLE IF NOT EXISTS `countries` (
  `id` int(6) NOT NULL auto_increment,
  `value` varchar(250) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

--
-- 转存表中的数据 `countries`
--

INSERT INTO `countries` (`id`, `value`) VALUES
(1, 'Afghanistan'),
(2, 'Aringland Islands'),
(3, 'Albania'),
(4, 'Algeria'),
(5, 'American Samoa'),
(6, 'Andorra'),
(7, 'Angola'),
(8, 'Anguilla'),
(9, 'Antarctica'),
(10, 'Antigua and Barbuda'),
(11, 'Argentina'),
(12, 'Armenia'),
(13, 'Aruba'),
(14, 'Australia'),
(15, 'Austria'),
(16, 'Azerbaijan'),
(17, 'Bahamas'),
(18, 'Bahrain'),
(19, 'Bangladesh'),
(20, 'Barbados'),
(21, 'Belarus'),
(22, 'Belgium'),
(23, 'Belize'),
(24, 'Benin'),
(25, 'Bermuda'),
(26, 'Bhutan'),
(27, 'Bolivia'),
(28, 'Bosnia and Herzegovina'),
(29, 'Botswana'),
(30, 'Bouvet Island'),
(31, 'Brazil'),
(32, 'British Indian Ocean territory'),
(33, 'Brunei Darussalam'),
(34, 'Bulgaria'),
(35, 'Burkina Faso'),
(36, 'Burundi'),
(37, 'Cambodia'),
(38, 'Cameroon'),
(39, 'Canada'),
(40, 'Cape Verde'),
(41, 'Cayman Islands'),
(42, 'Central African Republic'),
(43, 'Chad'),
(44, 'Chile'),
(45, 'China'),
(46, 'Christmas Island'),
(47, 'Cocos (Keeling) Islands'),
(48, 'Colombia'),
(49, 'Comoros'),
(50, 'Congo'),
(51, 'Congo'),
(52, ' Democratic Republic'),
(53, 'Cook Islands'),
(54, 'Costa Rica'),
(55, 'Ivory Coast (Ivory Coast)'),
(56, 'Croatia (Hrvatska)'),
(57, 'Cuba'),
(58, 'Cyprus'),
(59, 'Czech Republic'),
(60, 'Denmark'),
(61, 'Djibouti'),
(62, 'Dominica'),
(63, 'Dominican Republic'),
(64, 'East Timor'),
(65, 'Ecuador'),
(66, 'Egypt'),
(67, 'El Salvador'),
(68, 'Equatorial Guinea'),
(69, 'Eritrea'),
(70, 'Estonia'),
(71, 'Ethiopia'),
(72, 'Falkland Islands'),
(73, 'Faroe Islands'),
(74, 'Fiji'),
(75, 'Finland'),
(76, 'France'),
(77, 'French Guiana'),
(78, 'French Polynesia'),
(79, 'French Southern Territories'),
(80, 'Gabon'),
(81, 'Gambia'),
(82, 'Georgia'),
(83, 'Germany'),
(84, 'Ghana'),
(85, 'Gibraltar'),
(86, 'Greece'),
(87, 'Greenland'),
(88, 'Grenada'),
(89, 'Guadeloupe'),
(90, 'Guam'),
(91, 'Guatemala'),
(92, 'Guinea'),
(93, 'Guinea-Bissau'),
(94, 'Guyana'),
(95, 'Haiti'),
(96, 'Heard and McDonald Islands'),
(97, 'Honduras'),
(98, 'Hong Kong'),
(99, 'Hungary'),
(100, 'Iceland'),
(101, 'India'),
(102, 'Indonesia'),
(103, 'Iran'),
(104, 'Iraq'),
(105, 'Ireland'),
(106, 'Israel'),
(107, 'Italy'),
(108, 'Jamaica'),
(109, 'Japan'),
(110, 'Jordan'),
(111, 'Kazakhstan'),
(112, 'Kenya'),
(113, 'Kiribati'),
(114, 'Korea (north)'),
(115, 'Korea (south)'),
(116, 'Kuwait'),
(117, 'Kyrgyzstan'),
(118, 'Lao People''s Democratic Republic'),
(119, 'Latvia'),
(120, 'Lebanon'),
(121, 'Lesotho'),
(122, 'Liberia'),
(123, 'Libyan Arab Jamahiriya'),
(124, 'Liechtenstein'),
(125, 'Lithuania'),
(126, 'Luxembourg'),
(127, 'Macao'),
(128, 'Macedonia'),
(129, 'Madagascar'),
(130, 'Malawi'),
(131, 'Malaysia'),
(132, 'Maldives'),
(133, 'Mali'),
(134, 'Malta'),
(135, 'Marshall Islands'),
(136, 'Martinique'),
(137, 'Mauritania'),
(138, 'Mauritius'),
(139, 'Mayotte'),
(140, 'Mexico'),
(141, 'Micronesia'),
(142, 'Moldova'),
(143, 'Monaco'),
(144, 'Mongolia'),
(145, 'Montserrat'),
(146, 'Morocco'),
(147, 'Mozambique'),
(148, 'Myanmar'),
(149, 'Namibia'),
(150, 'Nauru'),
(151, 'Nepal'),
(152, 'Netherlands'),
(153, 'Netherlands Antilles'),
(154, 'New Caledonia'),
(155, 'New Zealand'),
(156, 'Nicaragua'),
(157, 'Niger'),
(158, 'Nigeria'),
(159, 'Niue'),
(160, 'Norfolk Island'),
(161, 'Northern Mariana Islands'),
(162, 'Norway'),
(163, 'Oman'),
(164, 'Pakistan'),
(165, 'Palau'),
(166, 'Palestinian Territories'),
(167, 'Panama'),
(168, 'Papua New Guinea'),
(169, 'Paraguay'),
(170, 'Peru'),
(171, 'Philippines'),
(172, 'Pitcairn'),
(173, 'Poland'),
(174, 'Portugal'),
(175, 'Puerto Rico'),
(176, 'Qatar'),
(177, 'Runion'),
(178, 'Romania'),
(179, 'Russian Federation'),
(180, 'Rwanda'),
(181, 'Saint Helena'),
(182, 'Saint Kitts and Nevis'),
(183, 'Saint Lucia'),
(184, 'Saint Pierre and Miquelon'),
(185, 'Saint Vincent and the Grenadines'),
(186, 'Samoa'),
(187, 'San Marino'),
(188, 'Sao Tome and Principe'),
(189, 'Saudi Arabia'),
(190, 'Senegal'),
(191, 'Serbia and Montenegro'),
(192, 'Seychelles'),
(193, 'Sierra Leone'),
(194, 'Singapore'),
(195, 'Slovakia'),
(196, 'Slovenia'),
(197, 'Solomon Islands'),
(198, 'Somalia'),
(199, 'South Africa'),
(200, 'South Georgia and the South Sandwich Islands'),
(201, 'Spain'),
(202, 'Sri Lanka'),
(203, 'Sudan'),
(204, 'Suriname'),
(205, 'Svalbard and Jan Mayen Islands'),
(206, 'Swaziland'),
(207, 'Sweden'),
(208, 'Switzerland'),
(209, 'Syria'),
(210, 'Taiwan'),
(211, 'Tajikistan'),
(212, 'Tanzania'),
(213, 'Thailand'),
(214, 'Togo'),
(215, 'Tokelau'),
(216, 'Tonga'),
(217, 'Trinidad and Tobago'),
(218, 'Tunisia'),
(219, 'Turkey'),
(220, 'Turkmenistan'),
(221, 'Turks and Caicos Islands'),
(222, 'Tuvalu'),
(223, 'Uganda'),
(224, 'Ukraine'),
(225, 'United Arab Emirates'),
(226, 'United Kingdom'),
(227, 'United States of America'),
(228, 'Uruguay'),
(229, 'Uzbekistan'),
(230, 'Vanuatu'),
(231, 'Vatican City'),
(232, 'Venezuela'),
(233, 'Vietnam'),
(234, 'Virgin Islands (British)'),
(235, 'Virgin Islands (US)'),
(236, 'Wallis and Futuna Islands'),
(237, 'Western Sahara'),
(238, 'Yemen'),
(239, 'Zaire'),
(240, 'Zambia'),
(241, 'Zimbabwe');
分享到:
评论

相关推荐

    文本框输入关键字自动提示相近信息

    标题中的“文本框输入关键字自动提示相近信息”指的是在网页应用中常见的搜索功能优化,它允许用户在输入关键字时,系统能实时显示与输入内容相关的建议或匹配项,提升用户体验和搜索效率。这一功能通常应用于搜索...

    软件界面设计注意事项

    - 工具栏可自定义,功能相近的工具放在一起。 - 提供实时提示信息,每个工具栏按钮都有提示。 - 工具栏长度不超过屏幕宽度,图标直观。 - 默认工具栏布局考虑用户习惯,过多时可用工具箱。 - 工具箱可增减,...

    简单实用的界面测试规范,供朋友们进行参考

    - 功能归类:相同或相近功能的菜单项用横线隔开,放在一起。 - 图标直观:菜单和工具栏图标应清晰表示操作。 - 菜单深度:不超过三层,便于查找。 - 自定义工具栏:允许用户根据需求调整。 - 工具栏提示:每个...

    软件测试规范(写得比较详细).

    - 选项数相近时,优先使用选项框,空间有限时使用下拉框。 - 专业软件用专业术语,通用软件则使用通俗词汇。 **二、规范性** 遵循Windows界面规范,包括菜单条、工具栏、状态栏等元素,能显著提高易用性。 1. *...

    站长应该知道的提升站内搜索体验的22条优化策略(图文)

    4. **自动提示**:通过自动提示功能,帮助用户减少输入错误,同时推荐相关产品和分类,避免无结果的情况。 5. **自动纠错**:强化搜索工具的纠错能力,减少访客多次尝试,增加用户体验。 6. **您要找的是不是**:...

    CS界面测试

    - 功能归类:相同或相近功能的菜单项用横线分隔,放在同一位置。 - 图标示意:菜单前的图标应直观地表示操作含义。 - 菜单深度:菜单层次尽量控制在三层以内。 - 自定义工具栏:用户可选择定制工具栏。 - 功能...

    WP主题:HotNewspro 2.72

    2. 缩略图添加完成后,加入多张图片时,不需要将图片插入到日志中,只需随意输入一个词:比如:风景图片,然后选中输入的文字,点击编辑工具中的“插入或编辑链接”按钮,加入图片的超链接即可,提高页面加载速度,...

    QQ好友怎么添加“特殊兴趣”的朋友?.docx

    4. **选择添加方式**:除了直接搜索,您还可以通过页面下方的【同城好友】、【同城老乡】或【附近人】功能,来寻找地理位置相近的朋友,点击后系统会显示相关用户,您可以选择添加。 **高级方法添加“特殊兴趣”的...

    chromedriver-win64_120.0.6098.0.zip

    ChromeDriver是开源的,由Google维护,其主要功能是作为浏览器和测试代码之间的桥梁,使得开发者能够编写脚本来模拟用户的各种操作,如点击、输入、导航等。 【压缩包子文件的文件名称列表】: "chromedriver-win64...

    zomato-restaurant-search

    在这个项目中,React被用来创建可重用的组件,如搜索框、餐厅列表等,并处理用户交互。 2. **API集成**:Zomato API提供了餐厅数据,如名称、地址、评分等。开发者需要了解如何向API发送请求(GET或POST),接收...

    Win7系统无法连接XP系统共享打印机的解决办法.docx

    - **开启服务管理器**:点击“开始”菜单,在搜索框中输入“services.msc”,打开服务管理器。 - **启动PrintSpooler服务**:在服务列表中找到“PrintSpooler”,双击打开其属性界面。 - **设置启动类型**:确保...

Global site tag (gtag.js) - Google Analytics