Ajax和PHP数据库怎么获取指定数据
问题描述:
比如前端页面里有个文章页面,每个文章都有一个唯一id,当我点击目标文章的时候Ajax传id到PHP,然后PHP要怎么写才能获取到那个字段的内容,因为那个字段的内容可能不止id,可能还有图片链接啊,文章内容啊,昵称啊,发布时间啊等等这些,请指点。
答
简单示例代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~
list.php,列表页
<meta charset="utf-8">
<table border='1'>
<?php
$conn=mysqli_connect("localhost","root","123456","test");
mysqli_query($conn,"set names utf8");
$sql = "SELECT uid,title,addtime FROM index_vido";
$res = mysqli_query($conn ,$sql);
if(mysqli_num_rows($res)>0){
while($row = mysqli_fetch_assoc($res)){
echo "<tr><td><a target='_blank' href=\"detail.php?id={$row['uid']}\">{$row['title']}</a></td><td>{$row['addtime']}</td></tr>";
}
}
else echo "<tr><td>找不到uid为{$getUid}的记录</td></tr>";
?>
</table>
<div id="content"></div>
<script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
<script>
$('a').click(function(){
$('#content').load(this.href)
return false;
});
</script>
detail.php,详细页面
<?php
$getUid=$_GET["id"];///获取参数
$conn=mysqli_connect("localhost","root","123456","test");
mysqli_query($conn,"set names utf8");
$sql = "SELECT * FROM index_vido WHERE uid='$getUid'";
$res = mysqli_query($conn ,$sql);
if(mysqli_num_rows($res)>0){
$row = mysqli_fetch_assoc($res);
echo "标题:".$row["title"]."<br>";
echo "添加时间:".$row["addtime"]."<br>";
echo "内容:".$row["content"]."<br>";
}
else echo "找不到uid为{$getUid}的记录";
?>
答
参考这个网站。
答
你跳转页面的时候,把id传过去,js获取到id以后,然后发请求去获取详情
答
既然AJAX传递的,这个就看你的AJAX是怎么弄的了,假设你的AJAX是这样的:
<a href="javascritp:" class="searchBtn" value="文章id">文章标题</a>
<div id="content"></div>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".searchBtn").click(function(){
var id=$(this).attr('value');//你点击获取到的文章id
$.ajax({
type:"GET",
url:" https://www.xxx.com/showart.php?id="+id,
dataType:"json",
success:function(data){
if(data.code==1){
alert('获取到数据');
$("#content").html('标题为:'+data.data.title+'<br>发布时间为:'+data.data.addtime+'<br>内容为:'+data.data.content);
console.log(data.data);
}else{
alert('没有获取到数据');
}
},
error:function(jqXHR){
console.log("Error: "+jqXHR.status);
}
});
});
});
</script>
那么你的showart.php代码参考如下:
<?php
$getUid=intval($_GET["id"]);///获取参数
$conn=mysqli_connect("localhost","root","123456","test");
mysqli_query($conn,"set names utf8");
$sql = "SELECT * FROM index_vido WHERE uid='$getUid'";
$res = mysqli_query($conn ,$sql);
if(mysqli_num_rows($res)>0){
$row = mysqli_fetch_assoc($res);
$showart['title'] = urlencode($row["title"]);//标题
$showart['addtime'] = urlencode($row["addtime"]);//addtime
$showart['content'] = urlencode($row[content"]);//content
$dataList['code'] = 1; // 状态标志,表示获取到数据
$dataList['data'] =$showart;
}
else{
$showart=array();
$dataList['code'] = 0; // 状态标志,表示没有获取到数据
$dataList['data'] =$showart;
}
exit(urldecode(json_encode($dataList)));
?>