Pruthviraj Chudasama Pruthviraj Chudasama - 3 months ago 17
JSON Question

Json Encode Getting Repeted Data

I create function for listing data in Smarty. It Works fine but my problem is i am getting data twice.please help me .

My Function is as below:-

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);
}


Output i am getting is as below :-

{
"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"
}


i want output as :-

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


please help me ...thanks

Answer

Use PDO::FETCH_ASSOC. The default for fetchAll() is PDO::FETCH_BOTH, which returns an array with both numeric and named indexes.

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