Ajax仿百度推举

仿百度搜索推举

这里写图片描述

后台PHP模糊查找获取数据:

final class getData{

    private $v = null;

    private $link;

    public function __construct(){
        $this->getParams();
        $this->connect();
        $this->query();
    }

    private function connect(){
        $this->link = mysqli_connect('localhost','root','root');
        mysqli_select_db($this->link,'itcast');
        mysqli_set_charset($this->link,'utf8');
    }

    private function getParams(){
        $this->v = $_GET['v'];
    }

    private function query(){
        //SQL 语句
        $sql = "select * from student where name like '".$this->v."%'";
        $res = mysqli_query($this->link,$sql);
        $data = [];
        while($row = mysqli_fetch_assoc($res)){
            $data[] = $row;
        }
        echo json_encode($data);
    }

}

new getData();

前台请求遍历数据:

<body>
    <input type="text" id="key"><br>
    <div id="result"></div>
</body>
<script>
    (window.$ = function(id){
        return document.getElementById(id);
    })();
    //oninput 元素的值发生改变时触发。
    $('key').oninput = function(){
    //该事件仅支持<input>、<textarea> 元素
        var v = this.value;
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function(){
            if(xhr.readyState == 4){
                var msg = JSON.parse(xhr.responseText);
                $('result').innerHTML = '';
                for(var i = 0; i<msg.length; i++){
                    $('result').innerHTML += '<div>' + msg[i].name + '</div>';
                }
            }
        }
        xhr.open('get','082101.php?v=' + v);
        xhr.send();
    }
</script>

猜你喜欢

转载自blog.csdn.net/github_27314097/article/details/81877036