Soru & Cevap

PHP ile Json Oluşturma

10.12.2016 - 05:01

Merhaba,

Benim kodum aşağıdaki gibidir;

<?php

	include("ayar.php");
	header('Content-Type: application/json');	
	//$ad = $_POST["ad"];
	$ad = "USER89623476571";
	$bilgial	=	@mysql_query("SELECT * FROM KULLANICI WHERE ID_NUMARASI='$ad' ORDER BY ID ASC LIMIT 1");

	$oku=mysql_fetch_assoc($bilgial);
	$metin= $oku['BAGLI_CIHAZ_ID'];
	$yenimetin = explode(',',$metin); 
	foreach($yenimetin as $yazdir){ 
	$sayi = "1";
	bilgial($yazdir);
	}  

function bilgial($kullanicisi)
{
	
	$TERMINAL_BILGI_AL	=	@mysql_query("SELECT * FROM TERMINAL WHERE ID='$kullanicisi' ORDER BY ID ASC LIMIT 1");
	while($TERMINAL_KAYITLAR=@mysql_fetch_assoc($TERMINAL_BILGI_AL)){
		$GELEN_SERIAL				=	$TERMINAL_KAYITLAR["SERIALNUMBER"];
		$GELEN_TERMINAL_ADI			=	$TERMINAL_KAYITLAR["TERMINAL_ADI"];
		$GELEN_SICAKLIK_T1_ALT		=	$TERMINAL_KAYITLAR["SICAKLIK_T1_ALT"];
		$GELEN_SICAKLIK_T1_UST		=	$TERMINAL_KAYITLAR["SICAKLIK_T1_UST"];
		$GELEN_SICAKLIK_T2_ALT		=	$TERMINAL_KAYITLAR["SICAKLIK_T2_ALT"];
		$GELEN_SICAKLIK_T2_UST		=	$TERMINAL_KAYITLAR["SICAKLIK_T2_UST"];
		$GELEN_SICAKLIK_T3_ALT		=	$TERMINAL_KAYITLAR["SICAKLIK_T3_ALT"];
		$GELEN_SICAKLIK_T3_UST		=	$TERMINAL_KAYITLAR["SICAKLIK_T3_UST"];
		$GELEN_SICAKLIK_T1			=	$TERMINAL_KAYITLAR["SICAKLIK_T1_SON_DATA"];
		$GELEN_SICAKLIK_T2			=	$TERMINAL_KAYITLAR["SICAKLIK_T2_SON_DATA"];
		$GELEN_SICAKLIK_T3			=	$TERMINAL_KAYITLAR["SICAKLIK_T3_SON_DATA"];
		$GELEN_NEM_H1_ALT			=	$TERMINAL_KAYITLAR["NEM_H1_ALT"];
		$GELEN_NEM_H1_UST			=	$TERMINAL_KAYITLAR["NEM_H1_UST"];
		$GELEN_NEM_H2_ALT			=	$TERMINAL_KAYITLAR["NEM_H2_ALT"];
		$GELEN_NEM_H2_UST			=	$TERMINAL_KAYITLAR["NEM_H2_UST"];
		$GELEN_NEM_H3_ALT			=	$TERMINAL_KAYITLAR["NEM_H3_ALT"];
		$GELEN_NEM_H3_UST			=	$TERMINAL_KAYITLAR["NEM_H3_UST"];
		$GELEN_NEM_H1				=	$TERMINAL_KAYITLAR["NEM_H1_SON_DATA"];
		$GELEN_NEM_H2				=	$TERMINAL_KAYITLAR["NEM_H2_SON_DATA"];
		$GELEN_NEM_H3				=	$TERMINAL_KAYITLAR["NEM_H3_SON_DATA"];
		$GELEN_SICAKLIK_T1_AD		=	$TERMINAL_KAYITLAR["SICAKLIK_T1_AD"];
		$GELEN_SICAKLIK_T2_AD		=	$TERMINAL_KAYITLAR["SICAKLIK_T2_AD"];
		$GELEN_SICAKLIK_T3_AD		=	$TERMINAL_KAYITLAR["SICAKLIK_T3_AD"];
		$GELEN_NEM_H1_AD			=	$TERMINAL_KAYITLAR["NEM_H1_AD"];
		$GELEN_NEM_H2_AD			=	$TERMINAL_KAYITLAR["NEM_H2_AD"];
		$GELEN_NEM_H3_AD			=	$TERMINAL_KAYITLAR["NEM_H3_AD"];
		$GELEN_SON_DATA				=	$TERMINAL_KAYITLAR["GELEN_SON_DATA"];
		}
		

// Json datasına çevrilecek diziyi yaratalım.
$json = array(); 

$json["Bilgiler"][] = array( 
	'GELEN_SERIAL'=> $GELEN_SERIAL, 
    'TERMINAL_ADI'=> $GELEN_TERMINAL_ADI, 
	'SICAKLIK_T1'=> $GELEN_SICAKLIK_T1,
	'SICAKLIK_T2'=> $GELEN_SICAKLIK_T2,
	'SICAKLIK_T3'=> $GELEN_SICAKLIK_T3,
	'NEM_H1'=> $GELEN_NEM_H1,
	'NEM_H2'=> $GELEN_NEM_H2,
	'NEM_H3'=> $GELEN_NEM_H3,
    'SON_DATA'=> $GELEN_SON_DATA,
	
	); 	
	
echo json_encode($json);	
		
}

?>

 

Bunun çıktısı

 

{"Bilgiler":
 [
   {"GELEN_SERIAL":"AGE6000010",
   "TERMINAL_ADI":"DENEME TERM",
   "SICAKLIK_T1":"23,8",
   "SICAKLIK_T2":"23,9",
   "SICAKLIK_T3":"23,8",
   "NEM_H1":"30",
   "NEM_H2":"29",
   "NEM_H3":"31",
   "SON_DATA":"2016-10-31 20:54:00"}
   ]
}{"Bilgiler":
  [
    {"GELEN_SERIAL":"AGE6000022",
    "TERMINAL_ADI":"Eczane",
    "SICAKLIK_T1":"23,0",
    "SICAKLIK_T2":"23,0",
    "SICAKLIK_T3":"22,9",
    "NEM_H1":"21",
    "NEM_H2":"21",
    "NEM_H3":"30",
    "SON_DATA":"2016-12-10 16:58:00"}
  ]
}

 

Şeklinde oluyor, ancak aşağıdaki şekilde olmasını istiyorum;

 

{"Bilgiler": [
    {"GELEN_SERIAL":"AGE6000010",
    "TERMINAL_ADI":"DENEME TERM",
    "SICAKLIK_T1":"23,8",
    "SICAKLIK_T2":"23,9",
    "SICAKLIK_T3":"23,8",
    "NEM_H1":"30",
    "NEM_H2":"29",
    "NEM_H3":"31",
    "SON_DATA":"2016-10-31 20:54:00"
      
    },
    {"GELEN_SERIAL":"AGE6000010",
    "TERMINAL_ADI":"DENEME TERM",
    "SICAKLIK_T1":"23,8",
    "SICAKLIK_T2":"23,9",
    "SICAKLIK_T3":"23,8",
    "NEM_H1":"30",
    "NEM_H2":"29",
    "NEM_H3":"31",
    "SON_DATA":"2016-10-31 20:54:00"}
  ]
}

 

Bu problemi nasıl çözebilirim?

16 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user kamilabi
kamilabi
29.12.2016 - 12:54

bu şekilde bu sonucu alman ilginç zaten. while içinde değişkenlere sabitlediğin verileri while dışında array a atarsan while içinde aynı değişkenin üzerine yazdığı için sabit değişkenler olur yani tüm kayıtlar gelmez. o yüzden alttaki array a veri atama işlemini while içinde yapman gerekiyor