jquery+ajax+php实现搜索功能 一直实现不了求修改

jquery+ajax+php实现搜索功能,一直实现不了,下面是在帝国CMS中的应用<htmllang="en"><divclass="container"><div><... jquery+ajax+php实现搜索功能,一直实现不了,下面是在帝国CMS中的应用

<html lang="en">
<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:"GET",
url:'search.php',
dataType:"json",
data:{'keyword':keyword},
success: function (data) {
//alert("test");
var html='';
var title=eval(data)[0];
inum=eval(data)[4][0];
for(i=0;i<inum;i++){
html = html+'<div class="col-md-3 text-center"><p>'+eval(data)[0][i]+'</p></div>';
}
$("#container").html(html);

}
}
)
}
</script>
</html>

<?php
header('Content-type:text/json; charset=utf-8');
require('../class/connect.php');
require('../class/db_sql.php');
$keyword=$_GET['keyword'];
$result1="select count(*) from phome_ecms_news where title like '%".$keyword."%'";
$row1 = mysqli_fetch_array($result1);
$allnum=$row1[0];
//echo $allnum;
$result="select * from phome_ecms_news where title like '%".$keyword."%'";//对表picture进行选择
$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['title'];//获得文字描述
$picture[1][$i]= $row['id'];//获得id
}
$picture[2][0]=$allnum;
echo json_encode($picture);
?>
展开
 我来答
senfe99
2018-04-21 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:76%
帮助的人:41.9万
展开全部

先不说代码写的如何,就说目前存在的几个问题:

1:js代码中,已经指定dataType:"json"所以返回的就是JS对象,后面调用的时候就不用eval了,直接用data[0][i],这样就可以了

2:根据php代码来看,data[0]是标题,data[1]是ID,data[2]才是数量,所以JS代码中的inum=eval(data)[4][0]; 应该改成inum=data[2]; 

3:php代码,你是用的mysqli操作数据库,应该先学习一样相关的教程,
$row1 = mysqli_fetch_array($result1); 和$rownum = mysqli_num_rows($result);中的参数不是sql字符串,而是mysqli_query()等返回的结果集标识符,所以在这两句代码之前再加一行

$sql="SQL语句";
$result1 = mysqli_query($connect, $sql);
$row1 = mysqli_fetch_array($result1);

$connect是连接数据库,例如

$connect = mysqli_connect('localhost','root','','baidu') or die('Unale to connect');
追问
不行,按照你说的修改还是不行啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式