2016-08-22 57 views
0

我创建Smarty中列出数据的函数。它工作正常,但我的问题是我得到的数据两次。请帮助我。Json编码获取重复数据

我的功能是如下: -

function appListing($requestvars) 
{ 

     try 
     { 
      $rh = $this->db->prepare('SELECT * FROM app'); 
      //$rh->bindParam(':userOwnerId', $_SESSION['userId'], PDO::PARAM_STR); 
      $rh->execute(); 
      $appData['App'] = $rh->fetchAll(); 
      $this->smartyTemplate->assign('appData', $appData); 
      $this->smartyTemplate->assign('request', $requestvars); 
      $this->smartyTemplate->assign('homePath', APP_ROOT_DIR); 
      //$this->smartyTemplate->display('project/appList.html'); 
     } 
     catch (PDOException $e) 
     { 
      $appData = "Error!: " . $e->getMessage(); 
     } 
    echo json_encode($appData); 
} 

输出我得到是如下: -

{ 
"App": [ 
{ 
    "0": "app_57ba9fc847dd55_57218508", 
    "1": "旅行台南", 
    "2": "https://play.google.com/", 
    "3": "https://play.google.com/1471848392.png", 
    "4": "1471848392", 
    "5": "1471848392", 
    "appId": "app_57ba9fc847dd55_57218508", 
    "appName": "旅行台南", 
    "appURL": "https://play.google.com/", 
    "appImage": "https://play.google.com/1471848392.png", 
    "createTime": "1471848392", 
    "lastUpdateTime": "1471848392" 
} 

我想输出: -

{ 
"App": [ 
{ 
    "appId": "app_57ba9fc847dd55_57218508", 
    "appName": "旅行台南", 
    "appURL": "https://play.google.com/", 
    "appImage": "https://play.google.com/1471848392.png", 
    "createTime": "1471848392", 
    "lastUpdateTime": "1471848392" 
} 

请帮我...谢谢

回答

2

使用PDO::FETCH_ASSOCfetchAll()的默认值是PDO::FETCH_BOTH,它返回一个包含数字索引和命名索引的数组。

 $appData['App'] = $rh->fetchAll(PDO::FETCH_ASSOC); 
+0

谢谢...其工作 –