如何通过php从MySQL数据库动态获取json数据


前些日子,本人在做一个失物招领项目的时候发现了一个问题,就是不知道如何从数据库里面动态的获取json数据,百度,谷歌无果,最终一位大四的学长,帮我解决了,下面贴出来那位学长的解决办法

$sql = "SELECT id, name, type0, type, tel, qq, message FROM lf";
	$result = mysqli_query($conn, $sql);//连接数据库,并输出指定数据
	
	// 输出每行数据
	while ($row = $result -> fetch_assoc()) { //将每一行取出来作为关联数据
		$date = date_format(date_create($row['reg_date']), '20y年 - m月 - d日');//注意,时间格式要这样才能输出
		$data_list[] = Array (
			"id" => $row['id'],
			"name" => $row['name'],
			"type0"=>$row['type0'],
			"type"=>$row['type'],
			"tel"=>$row['tel'],
			"qq" => $row["qq"], 
			"message" => $row["message"],
			"date"=>$date
		);
$json = Array(
		"error" => $error,
		"list" => $data_list,
		"search"=>$search,
	);
	$json_code =  json_encode($json);
	echo $json_code;

上面便是将data_list等通过json格式输出

js代码

$.ajax({
		type: "get",
		url: "port.php",
		async: true,
		dataType: 'json',
		success: function(data) {
			var i = data.list.length - 1;
			document.getElementById('time_0').innerHTML = data.list[i].date;
			document.getElementById('type_0').innerHTML = data.list[i].type;
			document.getElementById('qq_0').innerHTML = "QQ:" + data.list[i].qq;
			document.getElementById('tel_0').innerHTML = "电话:" + data.list[i].tel;
			document.getElementById('type1_0').innerHTML = data.list[i].type0;
			document.getElementById('message_0').innerHTML = data.list[i].message;
			document.getElementById('time_1').innerHTML = data.list[i - 1].date;
			document.getElementById('type_1').innerHTML = data.list[i - 1].type;
			document.getElementById('message_1').innerHTML = data.list[i - 1].message;
			document.getElementById('qq_1').innerHTML = "QQ:" + data.list[i - 1].qq;
			document.getElementById('tel_1').innerHTML = "电话:" + data.list[i - 1].tel;
			document.getElementById('type1_1').innerHTML = data.list[i - 1].type0;
			document.getElementById('time_2').innerHTML = data.list[i - 2].date;
			document.getElementById('type_2').innerHTML = data.list[i - 2].type;
			document.getElementById('message_2').innerHTML = data.list[i - 2].message;
			document.getElementById('qq_2').innerHTML = "QQ:" + data.list[i - 2].qq;
			document.getElementById('tel_2').innerHTML = "电话:" + data.list[i - 2].tel;
			document.getElementById('type1_2').innerHTML = data.list[i - 2].type0;

这里也可以用jquery,只是开始用了原生就没改了,用一个ajax就可以直接按要求输出了data_list[i].xx为最新的一行数据。

当然也可以根据自己的需要,用for循环输出

以上,纯属搬运工,欢迎指出错误



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值