2015-01-03 99 views
-2

我想合并具有相同ID的对象。如果对象id相同,如何合并对象?

我得到的JavaScript对象作为字符串从MySQL和PHP:

$sql="SELECT plaka,il,SUM(hasta_say) AS Hasta_Say FROM ADSM GROUP BY plaka,il ORDER BY Hasta_Say "; 

///COLUMN CHARTS 

$result=$baglanti->query($sql); 
$ilEventChart=""; 
while ($query=$result->fetch(PDO::FETCH_ASSOC)) { 
$color=random_color(); 


$ilEventChart.=' 
columnChartData.TR'.$query['plaka'].' = [ 
     { 
     "il": "'.$query['il'].'", 
     "hasta_sayisi":'.$query['Hasta_Say'].', 
     "color": "'.$color.'" 
     }]; 
'; 
} 

所以我打印到$ilEventChart PHP变量的JavaScript面积。

此javascript对象创建像这样。但递归'plaka'导致具有不同属性的递归对象。

这里对象:

columnChartData.TR78 = [ 
     { 
     "il": "KARABÜK", 
     "hasta_sayisi":66148, 
     "color": "b2147e" 
     }]; 

columnChartData.TR78 = [ 
     { 
     "il": "ÇANAKKALE", 
     "hasta_sayisi":66246, 
     "color": "9a720a" 
     }]; 

我想合并这个对象作为一个object.Desired输出是这样的:

columnChartData.TR78 = [ 
     { 
     "il": "KARABÜK", 
     "hasta_sayisi":66148, 
     "color": "b2147e" 
     }, 
     { 
     "il": "ÇANAKKALE", 
     "hasta_sayisi":66246, 
     "color": "9a720a" 
     }]; 

我们如何能做到这一点的JavaScript?

感谢

+0

那些是两个不同的对象数组TR78?我假设他们不应该是相同的变量名称,对吧?你是否试图将两个不同数组的对象合并在一起? – wmock

+0

我正在从php.And Sam ids获取数据。因此输出具有相同的ID对象。我想要合并至极具有相同的ID对象 – coder3

+0

如何获取数据? AJAX?是* columnChartData *变量或对象属性? – RobG

回答

0

长时间的工作后,我发现了solution.Solution可能使用PHP阵列。

这里是解决方案:

  1. 我们定义birim多维数组的使用JavaScript ID(Plaka区)。
  2. 后我们得到DATAS从MySQL与while循环,推动每 DATAS的到birim阵列

  3. 所以我们创建了身份证号码至极多维数组有自己 key.For例如,如果我们检查数组wtih print_r

    回声“

    '; 
    print_r($birim[6]);

We saw about id of 6 values in array:

Array 
(
    [0] => { 
     "birim": "ANKARA GÖLBAÅI AÄIZ VE DİŠSAÄLIÄI MERKEZİ", 
     "hasta_sayisi":70518, 
     "color": "e817c0" 
     }, 
    [1] => { 
     "birim": "ANKARA SİNCAN AÄIZ VE DİŠSAÄLIÄI MERKEZİ", 
     "hasta_sayisi":77868, 
     "color": "ac31aa" 
     }, 
    [2] => { 
     "birim": "ANKARA BALGAT AÄIZ VE DİŠSAÄLIÄI MERKEZİ", 
     "hasta_sayisi":97564, 
     "color": "609724" 
     }, 
    [3] => { 
     "birim": "ANKARA KEÇİÖREN OSMANLI AÄIZ VE DİŠSAÄLIÄI MERKEZİ", 
     "hasta_sayisi":97773, 
     "color": "62f1a0" 
     }, 
    [4] => { 
     "birim": "ANKARA MAMAK AÄIZ VE DİŠSAÄLIÄI MERKEZİ", 
     "hasta_sayisi":126806, 
     "color": "2c7498" 
     }, 
    [5] => { 
     "birim": "ANKARA TOPRAKLIK AÄIZ VE DİŠSAÄLIÄI MERKEZİ", 
     "hasta_sayisi":126854, 
     "color": "23a203" 
     }, 
    [6] => { 
     "birim": "ANKARA TEPEBAÅI AÄIZ VE DİŠSAÄLIÄI HASTANESİ", 
     "hasta_sayisi":200623, 
     "color": "735aa6" 
     }, 
    [7] => { 
     "birim": "ANKARA 75.YIL AÄIZ VE DİŠSAÄLIÄI HASTANESİ", 
     "hasta_sayisi":260057, 
     "color": "4d8cd1" 
     }, 
) 
  • 所有这一点,我们在印刷之后数组值foreach loop到临时 变量我们将使用我n javascript代码。
  • 这里充满了代码:

    $sql="SELECT plaka,birim,SUM(hasta_say) AS Hasta_Say FROM ADSM GROUP BY birim ORDER BY Hasta_Say "; $result=$baglanti->query($sql); $birimEventChart=""; $birim=array(); while ($query=$result->fetch(PDO::FETCH_ASSOC)) { $color=random_color(); $birim[$query['plaka']][]='{ "birim": "'.$query['birim'].'", "hasta_sayisi":'.$query['Hasta_Say'].', "color": "'.$color.'" },'; } $sql="SELECT DISTINCT plaka FROM ADSM"; $result=$baglanti->query($sql); $temp=""; while ($query=$result->fetch(PDO::FETCH_ASSOC)) { foreach ($birim[$query['plaka']] as $p) { $temp.=$p; } $birimEventChart.='hastaneChartData.TR'.$query['plaka'].' = ['.$temp.'];'; $temp=""; }
    相关问题