继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

php41:PHP站内搜索:关键字、加亮显示

关注TA
已关注
手记
粉丝
获赞

  1. SQL语句的模糊查找:like条件指定某一字段的时候,通过通配符的"%_"的作用来实现模糊查找功能。

    例子:

    如以php开头:select * from table where subject like '%php';

      以php结尾:select * from table where subject like 'php%';

      包含php:  select * from table where subject like '%php%';

    注释:%表示0或多个字符   _表示单个字符

  2. 多关键字搜索:

    提交表单(提交一个或者多个关键字或者用空格或者用+号)->php表单的提交($key=explode('',))->执行sql语句(subject like '%$key[0]%')->输出结果

  3. 加亮显示:用正则替换即可。接下来就是实例。



二、$_POST、$_GET的区别和特点

  1. 1.         GET是从服务器上获取数据,POST是向服务器传送数据。

  2. 2.         GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

  3. 3.         对于GET方式提交表单数据,服务器端用$_GET[‘name’]获取变量的值,对于POST方式提交表单数据,服务器端用$_POST[‘name’]获取提交的数据,当然,两者都可以通过$_REQUEST[‘name’]获得表单数据。对于REQUEST方式提交表单数据,服务器端用$_REQUEST[‘name’]获取变量的值,但这种方式很少用。

  4. 4.         GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。但理论上,一般认为不能超过100KB。

  5. 5.         GET安全性非常低,POST安全性较高。

  6. 6.         GET表单值可以通过_GET获取;但通过action的url设置的参数总是获取不到的,<form method="get" action="a.asp?b=b">跟<form method="get"action="a.asp">是一样的,也就是说,在这种情况下,GET方式会忽略action页面后边带的参数列表。POST表单值可以通过_POST获取;但通过action的url参数设置的参数则可以不能通过_POST获取到。action=test.php?id=1这种就是GET方式传值,可以用$_REQUEST和$_GET接受传值,但不能用POST方式获取到值,即使表单是POST方式提交。所在,在提交表单时,如果action中同时有参数,最好只能通过POST表单方式,对于表单内数据,直接通过POST获取,对于action中参数,童工GET获取。

  7. 在做数据查询时,建议用GET方式,而在做数据添加、修改或***时,建议用POST方式。

  8. request是先读取 get再读post 的, 同时存在, 即覆盖掉前面的变量。

    request是先读取 get再读post 的, 同时存在, 即覆盖掉前面的变量。其实,在php配置文件php.ini中有一个设置项:variables_order = "GPCS" ,GPCS分别是GET,POST,Cookie,Server的首字母缩写,variables_order = "GPCS"含义是php文件中变量的解析顺序是GET,POST,Cookie和Server。


  9. wKioL1ON-sfTMGWzAAFKhOvH1Xw352.jpg

  10. wKiom1ON-vmQBnWtAAFDJrq-foA932.jpg

  11. 代码如下:

    <?php
        $conn = @mysql_connect("localhost", "root", "") or die("数据库链接错误");
        mysql_select_db("bbs", $conn);
        mysql_query("set names 'GBK'"); //使用GBK中文编码;

        if($_GET['key']) {

            $sql = "SELECT * FROM search WHERE details LIKE '%$_GET[key]%'";
            $query = mysql_query($sql);

            while($r=mysql_fetch_array($query)) {
                echo "$r[details]"."<br>";
            }
        }

    ?>

    <html>
        <body>
        <form action="" method="get">
        关键字:
        <input type="text" name="key" />
        <input type="submit" name="sub" value="搜索" />
        </form>
        </body>
    </html>

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP