php实现模糊查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php实现模糊查询相关的知识,希望对你有一定的参考价值。

<html>

<div class="container">
<div><input type="text" id="gover_search_key" placeholder="请输入内容进行搜索"/>
<button type="submit" onclick="search()">搜索</button>
</div>
<div id="container" class="rows">
</div></div>
<script type="text/javascript">
function search()
var keyword=$("#gover_search_key").val();

$.ajax(
type:"POST",

url:"search.php",
dataType:"json",
data:'keyword':keyword,
success: function (data)
alert("test");
var html='';
var path1=eval(data)[0];
inum=eval(data)[5][0];
for(i=0;i<inum;i++)
html = html+'<div class="col-md-3 text-center"><img src="'+eval(data)[3][i]+'"style="height:200px,width:200px"/><p>'+eval(data)[2][i]+'</p></div>';

$("#container").html(html);



)


</script>
</html>

分割线--------------------------------------------------------------

<?php
require("conn.php");
$keyword=$_GET['keyword'];

$q="SELECT count(*) FROM product where Name like '%$keyword%'";

$result1 = mysqli_query($con,$q);
$row1 = mysqli_fetch_array($result1);
$allnum=$row1[0];
//echo $allnum;
$k="SELECT * FROM product where Name like '%$keyword%';";//对表picture进行选择

$result = mysqli_query($con,$k);//执行$k的mysql语句,并赋给result
$rownum = mysqli_num_rows($result);//获取result的数据数量
$picture=array(array());
for($i=0;$i<$rownum;$i++)
$row = mysqli_fetch_assoc($result);//获取result的一条数据
$picture[0][$i]= $row['Id'];//获得id
$picture[1][$i]= $row['Name'];//获得name
$picture[2][$i]= $row['Name_E'];//获name_e
$picture[3][$i]= $row['Pic'];//获得pic
$picture[4][$i]= $row['Url'];//获得url

$picture[5][0]=$allnum;
echo json_encode($picture);

?>

大神帮忙调一下 不知道哪错了

具体的错误信息是什么呢?光这样这样有些难查找

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。

PHP 是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

追问

ajax哪里的alert没有效果 就是这个alert("test"); 不知道什么原因造成的

参考技术A 塞下曲·饮马渡秋水(王昌龄) 参考技术B 行路难(李白) 参考技术C 游子吟(孟郊) 参考技术D 隋宫(李商隐)

PHP二维数据排序,二维数据模糊查询

一、因为项目中的一个报表需要合并三个表的数据,所以分表查询再合并数据,利用PHP数组函数进行排序,搜索。三表合并后的数组结构如下:

Array
(
    [0] => Array
        (
            [history_id] => 12
            [sla_group_id] => 1
            [sla_id] => -1
            [create_time] => 1513057695
            [tasklog_id] => 12
            [tasklog_time] => 2017-12-12 13:48:15
            [tasklog_name] => window_2008
            [tasklog_type] => 分组立即调度
            [tasklog_user] => admin
            [tasklog_status] => 3
        )

    [1] => Array
        (
            [history_id] => 11
            [sla_group_id] => 1
            [sla_id] => 1
            [create_time] => 1513057563
            [tasklog_id] => 11
            [tasklog_time] => 2017-12-12 13:46:03
            [tasklog_name] => centos7_USHARK
            [tasklog_type] => 一小时备份频率
            [tasklog_user] => 系统自动
            [tasklog_status] => 3
        )

    [2] => Array
        (
            [history_id] => 19
            [sla_group_id] => 1
            [sla_id] => 98
            [create_time] => 1513059714
            [tasklog_id] => 19
            [tasklog_time] => 2017-12-12 14:21:54
            [tasklog_name] => huawei_fusion_backup
            [tasklog_type] => 华为虚拟化备份
            [tasklog_user] => ushark.net
            [tasklog_status] => 2
        )

    [3] => Array
        (
            [history_id] => 41
            [sla_group_id] => 0
            [sla_id] => -1
            [create_time] => 1513069534
            [status] => 2
            [tasklog_id] => 41
            [tasklog_time] => 2017-12-12 17:05:34
            [tasklog_name] => centos7-11自增非整数测试
            [tasklog_user] => admin
            [tasklog_type] => 立即调度
            [tasklog_status] => 2
        )

    [4] => Array
        (
            [history_id] => 40
            [sla_group_id] => 0
            [sla_id] => -1
            [create_time] => 1513067574
            [status] => 2
            [tasklog_id] => 40
            [tasklog_time] => 2017-12-12 16:32:54
            [tasklog_name] => win2008安装MySQL
            [tasklog_user] => impp.cc
            [tasklog_type] => 策略备份
            [tasklog_status] => 2
        )

    [5] => Array
        (
            [history_id] => 39
            [sla_group_id] => 0
            [sla_id] => -1
            [create_time] => 1513067399
            [status] => 2
            [tasklog_id] => 39
            [tasklog_time] => 2017-12-12 16:29:59
            [tasklog_name] => Linux下文件
            [tasklog_user] => ppstorm.com
            [tasklog_type] => 立即调度
            [tasklog_status] => 2
        )
)

 

二、二维数组排序、搜索

// HTTP GET values
$length  = (int) $this->input->get(‘length‘, true);
$start   = (int) $this->input->get(‘start‘, true);
$order   = trim($this->input->get(‘order‘, true));
$sort    = trim($this->input->get(‘dir‘, true));
$search  = trim($this->input->get(‘search‘, true));

// 三表数据
$vm_group = $this->safe->vm_group_task();
$vm_tasklog = $this->safe->vm_tasklog();
$vm_mounts_log = $this->safe->vm_mounts_log();

// 合并数据
$tasklog = array_merge($vm_group, $vm_tasklog, $vm_mounts_log);

// !!! 二维数据搜索 !!!
if (!empty($search)) {
    foreach ($tasklog as $sk => $sv) {
        if (mb_stripos($sv[‘tasklog_name‘], $search) === false
            && mb_stripos($sv[‘tasklog_type‘], $search) === false
            && mb_stripos($sv[‘tasklog_user‘], $search) === false
        ) {
            unset($tasklog[$sk]);
            continue;
        }
    }
}

// 总记录
$total_record = count($tasklog);

// 排序
switch ($order) {
    case 1:
        $sort_key = ‘tasklog_name‘;
        break;
    case 2:
        $sort_key = ‘tasklog_type‘;
        break;
    case 3:
        $sort_key = ‘tasklog_user‘;
        break;
    case 4:
        $sort_key = ‘tasklog_time‘;
        break;
    case 5:
        $sort_key = ‘tasklog_status‘;
        break;
    default:
        $sort_key = ‘tasklog_id‘;
        break;
}
$sort_arr = array_column($tasklog, $sort_key);
$desc_asc = $sort === ‘desc‘ ? SORT_DESC : SORT_ASC;
array_multisort($sort_arr, $desc_asc, $tasklog); // !!! 二维数据排序 !!!

// 取指定长度
$output_arr = array_slice($tasklog, $start, $length);

 

以上是关于php实现模糊查询的主要内容,如果未能解决你的问题,请参考以下文章

php如何模糊查询字符串? - 技术问答

thinkphp 5 及一下或php项目里实现模糊查询

PHP中模糊查询后实现分页时,只显示第一页信息,之后的页面信息不显示,求类似问题解决方法最好有代码,谢

解密PHP模糊查询技术

如何用php对mongodb进行模糊查询

如何用php对mongodb进行模糊查询