php - 如果可能的话,使用 PHP 从 JSON 格式的两个 MySQL 表中获取数据

标签 php mysql arrays json pdo

<?php  
$db=new PDO('mysql:dbname=fvilla;host=localhost;','root','');  
$row=$db->prepare('select * from slider');  
$row->execute();//execute the query  
$json_data=array();//create the array  
foreach($row as $rec)//foreach loop  
{  
    $json_array['id']=$rec['id'];  
    $json_array['image_url']=$rec['image_url'];  
    $json_array['link_image']=$rec['link_image'];  
    array_push($json_data,$json_array);  

}  
echo json_encode($json_data);  
$row1=$db->prepare('select * from collections');  
$row1->execute();//execute the query  
$json_data1=array();//create the array  
foreach($row1 as $rec1)//foreach loop  
{  
    $json_array1['cid']=$rec1['id'];  
    $json_array1['cimage_url']=$rec1['image_url'];  
    $json_array1['cheading']=$rec1['heading']; 
    $json_array1['csubheading']=$rec1['subheading'];  
    array_push($json_data1,$json_array1);  
}  
echo json_encode($json_data1);  
?>

输出如下:

[{"id":"1","image_url":"http:\/\/fvilla.in\/app\/slider\/first.jpg","link_image":""},{"id":"2","image_url":"http:\/\/fvilla.in\/app\/slider\/second.jpg","link_image":""},{"id":"3","image_url":"http:\/\/fvilla.in\/app\/slider\/third.jpg","link_image":""}]

[{"cid":"1","cimage_url":"http:\/\/fvilla.in\/app\/collections\/1.jpg","cheading":"Body Art","csubheading":"Tattoo, Piercing & More"},{"cid":"2","cimage_url":"http:\/\/fvilla.in\/app\/collections\/2.jpg","cheading":"Nail Care","csubheading":"Manicure, Nail Art & More"},{"cid":"3","cimage_url":"http:\/\/fvilla.in\/app\/collections\/3.jpg","cheading":"Hair Care","csubheading":"Straightening, Rebonding & More"},{"cid":"4","cimage_url":"http:\/\/fvilla.in\/app\/collections\/4.jpg","cheading":"Bridal Box","csubheading":"Bridal Makeup, Hair & More"},{"cid":"5","cimage_url":"http:\/\/fvilla.in\/app\/collections\/5.jpg","cheading":"Face Care","csubheading":"Facial, Makeup & More"},{"cid":"6","cimage_url":"http:\/\/fvilla.in\/app\/collections\/6.jpg","cheading":"Mehandi Show","csubheading":"Mehandi For Hand & Feet"}]

但我想要这种格式的输出:

{
   "slider1" : [{"id":"3","image_url":"http:\/\/fvilla.in\/app\/slider\/third.jpg","link_image":""},{"id":"6","image_url":"http:\/\/fvilla.in\/app\/slider\/third.jpg","link_image":""}],
   "slider2" : [{ },{ }]
}

最佳答案

好吧,您可以创建自己的数组来保存一张表中的结果。

<?php  
$db=new PDO('mysql:dbname=fvilla;host=localhost;','root','');  
$row=$db->prepare('select * from slider');  
$row->execute();//execute the query  
$json_data=array();//create the array
$result = array();
foreach($row as $rec)//foreach loop  
{  
    $json_array['id']=$rec['id'];  
    $json_array['image_url']=$rec['image_url'];  
    $json_array['link_image']=$rec['link_image'];  
    array_push($json_data,$json_array);  

}  
$result["table1"] = $json_data;

$row1=$db->prepare('select * from collections');  
$row1->execute();//execute the query  
$json_data1=array();//create the array  
foreach($row1 as $rec1)//foreach loop  
{  
    $json_array1['cid']=$rec1['id'];  
    $json_array1['cimage_url']=$rec1['image_url'];  
    $json_array1['cheading']=$rec1['heading']; 
    $json_array1['csubheading']=$rec1['subheading'];  
    array_push($json_data1,$json_array1);  
}
$result['table2'] = $json_data1;
echo json_encode($result);  
?>

关于php - 如果可能的话,使用 PHP 从 JSON 格式的两个 MySQL 表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548792/

相关文章:

javascript - Google Apps javascript 遍历多个数组

java - 如果字符串中包含较小的单词,如何将其拆分为两个标记

php - 计算mysql结果的平均值php

php - 如何求和相同角色记录的数量?

mysql - 选择最后一组数据

php - AJAX 结果不等待查询完成

mysql - 错误 : R cannot connect to MySQL

mysql - 日期格式发生奇怪的变化

php - 将整个数据库变成 RESTful API

php - 循环表达式引擎条目?