创建数据json php
我有点困惑如何创建这样的响应数据创建数据json php,php,json,sqlsrv,Php,Json,Sqlsrv,我有点困惑如何创建这样的响应数据 [ { "profile": "Profile 1", "kumpulan_spot": [ { "urutan": "1", "id": "0415AA9E2D", "checkpoint": "3. OFFICE DEPAN LT. 2", "lokasi": "WARU", "waktu": "none", "status"
[
{
"profile": "Profile 1",
"kumpulan_spot": [
{
"urutan": "1",
"id": "0415AA9E2D",
"checkpoint": "3. OFFICE DEPAN LT. 2",
"lokasi": "WARU",
"waktu": "none",
"status": "none",
"kondisi": "none",
"foto": "none"
},
{
"urutan": "2",
"id": "0415AAA007",
"checkpoint": "4. OFFICE KRIAN LT.3 - R. MIS",
"lokasi": "KRIAN",
"waktu": "none",
"status": "none",
"kondisi": "none",
"foto": "none"
}
]
},
{
"profile": "Profile 2",
"kumpulan_spot": [
{
"urutan": "3",
"id": "0415AAA01B",
"checkpoint": "2. OFFICE DEPAN LT.1 - R. MARKETING",
"lokasi": "KRIAN",
"waktu": "none",
"status": "none",
"kondisi": "none",
"foto": "none"
}
]
}
]
但到目前为止,我一直在努力
$myparams['nik'] = $_POST['nik'];
$procedure_params = array(
array(&$myparams['nik'] , SQLSRV_PARAM_IN)
);
$sql = "EXEC SP_GETJADWAL @nik=?";
$stmt = sqlsrv_prepare($conn, $sql,$procedure_params);
if( !$stmt ) {
die( print_r( sqlsrv_errors(), true));
}
$return_hasil=[];
$myArray = [];
if(sqlsrv_execute($stmt)){
do {
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$arrItem=[];
$detailItem=[];
// $i=0;
// while($i==0){
$arrItem["Profile"]="Profile ".$row['Profile'];
// $i=1;
// }
$detailCheckPoint=[];
$detailCheckPoint["urutan"]=$row['Urutan'];
$detailCheckPoint["id"]=$row['check_point_id'];
$detailCheckPoint["checkpoint"]=$row['check_point_name'];
$detailCheckPoint["lokasi"]=$row['check_point_loc'];
$detailCheckPoint["waktu"]="none";
$detailCheckPoint["status"]="none";
$detailCheckPoint["kondisi"]="none";
$detailCheckPoint["foto"]="none";
$detailItem[]=$detailCheckPoint;
$arrItem["ListCheckPoint"]=$detailItem;
$return_hasil[]=$arrItem;
}
} while ( sqlsrv_next_result($stmt) );
echo json_encode($return_hasil);
}else{
die( print_r( sqlsrv_errors(), true));
}
}else{
echo 'Connection Failure<br/>';
}
我在创建数据json方面是新手,对如何实现我想要的响应有点困惑从while循环中删除初始化
$detailItem=[];
根据请求更新代码: 尝试以下代码: 我希望它能起作用
$arrItem["Profile"] ="Profile ".$row['Profile'];
$detailCheckPoint=[];
$detailCheckPoint["urutan"]=$row['Urutan'];
$detailCheckPoint["id"]=$row['check_point_id'];
$detailCheckPoint["checkpoint"]=$row['check_point_name'];
$detailCheckPoint["lokasi"]=$row['check_point_loc'];
$detailCheckPoint["waktu"]="none";
$detailCheckPoint["status"]="none";
$detailCheckPoint["kondisi"]="none";
$detailCheckPoint["foto"]="none";
foreach ($return_hasil as $key1 => $value) {
if($value["Profile"] === $arrItem["Profile"]) {
var_dump($detailCheckPoint);
$return_hasil[$key1]["ListCheckPoint"][] = $detailCheckPoint;
continue 2;
}
}
$arrItem['ListCheckPoint'] = array($detailCheckPoint);
$return_hasil[]=$arrItem;
有什么问题吗?格式看起来正确。要在“kumpulan_点”中插入多个数组。在什么条件下,您决定将元素放入“kumpulan_点”?@TouheedKhan,条件$arrItem[“Profile”]=“Profile”。$row[“Profile”];先生,因此配置文件可能有许多kumpulan_点仍不工作,配置文件1缺失,仅显示配置文件2和我的所有元素删除
detailCheckPoint=[]
,从中看,配置文件将不工作,它看起来像其获取最后一行数据表,因此配置文件1不显示@Nishant Nairits工作谢谢,但有1个数据无法显示到我的json结构@TouheedKhan@anasrachmadi什么数据?请解释一下,以便我可以纠正这个问题。所以在我的数据中有配置文件1包含json数组[1,2,3],配置文件2包含[1,2]。使用代码只需显示配置文件1[2,3]和配置文件2[2]@Touheed Khan[加入此聊天了解详细信息
$arrItem["Profile"] ="Profile ".$row['Profile'];
$detailCheckPoint=[];
$detailCheckPoint["urutan"]=$row['Urutan'];
$detailCheckPoint["id"]=$row['check_point_id'];
$detailCheckPoint["checkpoint"]=$row['check_point_name'];
$detailCheckPoint["lokasi"]=$row['check_point_loc'];
$detailCheckPoint["waktu"]="none";
$detailCheckPoint["status"]="none";
$detailCheckPoint["kondisi"]="none";
$detailCheckPoint["foto"]="none";
foreach ($return_hasil as $key1 => $value) {
if($value["Profile"] === $arrItem["Profile"]) {
var_dump($detailCheckPoint);
$return_hasil[$key1]["ListCheckPoint"][] = $detailCheckPoint;
continue 2;
}
}
$arrItem['ListCheckPoint'] = array($detailCheckPoint);
$return_hasil[]=$arrItem;