2016-08-22 5 views
0

Я создаю функцию для перечисления данных в Smarty. Это нормально работает, но проблема в том, что я получаю данные дважды. Помогите мне.Json Encode Получение повторных данных

Моя функция как показано ниже: -

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_ASSOC. Значение по умолчанию для fetchAll(): PDO::FETCH_BOTH, которое возвращает массив с числовыми и именованными индексами.

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

спасибо ... его работа –