2016-05-14 74 views
0
$query = "SELECT * from tblTwigUsers;"; 
    $result = mysqli_query ($con,$query); 

if (mysqli_num_rows($result)>0) 
    { 
     $response = array(); 
     $code = "profile_true"; 
     while($row = mysqli_fetch_array($result)) 
     { 
      array_push ($response,array("code"=>$code,"fldUser_Id"=>$row[0],"fldUser_UserName"=>$row[2])); 
      echo json_encode(array("server_resposnse"=>$response)); 
     } 
    } 
else 
    { 
     $response = array(); 
     $code = "profile_false"; 
     $message = "failed to get user profile info..."; 
     array_push ($response,array("code"=>$code,"message"=>$message)); 
     echo json_encode(array("server_resposnse"=>$response)); 
    } 

結果在PHP循環通過..array推

{ 
    "server_resposnse": [{ 
     "code": "profile_true", 
     "fldUser_Id": "1", 
     "fldUser_UserName": "sohan" 
    }] 
} { 
    "server_resposnse": [{ 
     "code": "profile_true", 
     "fldUser_Id": "1", 
     "fldUser_UserName": "sohan" 
    }, { 
     "code": "profile_true", 
     "fldUser_Id": "2", 
     "fldUser_UserName": "sonal" 
    }] 
} { 
    "server_resposnse": [{ 
     "code": "profile_true", 
     "fldUser_Id": "1", 
     "fldUser_UserName": "sohan" 
    }, { 
     "code": "profile_true", 
     "fldUser_Id": "2", 
     "fldUser_UserName": "sonal" 
    }, { 
     "code": "profile_true", 
     "fldUser_Id": "3", 
     "fldUser_UserName": "amit" 
    }] 
} { 
    "server_resposnse": [{ 
     "code": "profile_true", 
     "fldUser_Id": "1", 
     "fldUser_UserName": "sohan" 
    }, { 
     "code": "profile_true", 
     "fldUser_Id": "2", 
     "fldUser_UserName": "sonal" 
    }, { 
     "code": "profile_true", 
     "fldUser_Id": "3", 
     "fldUser_UserName": "amit" 
    }, { 
     "code": "profile_true", 
     "fldUser_Id": "4", 
     "fldUser_UserName": "rajiv" 
    }] 
} 

爲什麼數據重複? 第四個結果是正確的,我需要那個嗎?如何得到它? 幫助表示讚賞,

THX, Sohan

+0

如果你想在第4個結果,然後添加一個'WHERE'在'SELECT'查詢子句。 –

回答

0

不要echo json_encode()內循環,因爲這樣你會打印JSON多次,每一個是稍長比前一個。等到循環完成後。

$response = array(); 
if (mysqli_num_rows($result)>0) 
{ 
    $code = "profile_true"; 
    while($row = mysqli_fetch_array($result)) 
    { 
     array_push($response,array("code"=>$code,"fldUser_Id"=>$row[0],"fldUser_UserName"=>$row[2])); 
    } 
} 
else 
{ 
    $code = "profile_false"; 
    $message = "failed to get user profile info..."; 
    array_push($response,array("code"=>$code,"message"=>$message)); 
} 
echo json_encode(array("server_resposnse"=>$response)); 

順便說一句,你在"server_responsnse"拼寫錯誤的 「響應」。確保你在這裏和處理JSON的代碼中使用相同的拼寫。

此外,array_push($array, $value);可以更地道寫成$array[] = $value;

+0

謝謝巴爾馬......工作很好...... –

+0

如果這解決了你的問題,你應該接受答案,點擊它的複選標記nexdt。 – Barmar