0

Confusing my values so messy

Home Code

$user = getventList();
    $response = array();
    if(mysql_num_rows($user) > 0){
    while ($row = mysql_fetch_assoc($user)){
         $response[] = $row;
         echo json_encode($response);
    }
    } else {
         return false;
    }


enter code here

Function event this one is function to generate result from mysql

$result = mysql_query("SELECT * from event where status = '2'"); return $result;

Bad Result

[  {"cPID":"123","image_event":"enjoy.jpg"} 
]

[  {"cPID":"123","image_event":"enjoy.jpg"},
   {"cPID":"1234","image_event":"enjoy.jpg"}
]

[  {"cPID":"123","image_event":"enjoy.jpg"},
   {"cPID":"1234","image_event":"enjoy.jpg"},
   {"cPID":"12345","image_event":"enjoy.jpg"}
]

[  {"cPID":"123","image_event":"enjoy.jpg"},
   {"cPID":"1234","image_event":"enjoy.jpg"},
   {"cPID":"12345","image_event":"enjoy.jpg"},
   {"cPID":"123456","image_event":"enjoy.jpg"}
]

[  {"cPID":"123","image_event":"enjoy.jpg"},
   {"cPID":"1234","image_event":"enjoy.jpg"},
   {"cPID":"12345","image_event":"enjoy.jpg"},
   {"cPID":"123456","image_event":"enjoy.jpg"},
   {"cPID":"1234567","image_event":"enjoy.jpg"}
]

i wanna get only like the last array

[  {"cPID":"123","image_event":"enjoy.jpg"},
   {"cPID":"1234","image_event":"enjoy.jpg"},
   {"cPID":"12345","image_event":"enjoy.jpg"},
   {"cPID":"123456","image_event":"enjoy.jpg"},
   {"cPID":"1234567","image_event":"enjoy.jpg"}
]
2
  • 2
    This extension MySQL was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. And if you start to use MySQLi, you will be able to simplify your code to json_encode(mysqli_fetch_all($user, MYSQLI_ASSOC)); Commented Jun 26, 2016 at 7:25
  • Thank you sir, i didn't know it was removed on PHP 7.0.0 Commented Jun 29, 2016 at 6:37

1 Answer 1

2

Move json_encode out of the while loop. Additionally quit using mysql and start using mysqli or PDO functions.

$user = getventList();
    $response = array();
    if(mysql_num_rows($user) > 0){
    while ($row = mysql_fetch_assoc($user)){
         $response[] = $row;          
    }
    } else {
         return false;
    }
    echo json_encode($response);

Now your output will be the expected one

[  {"cPID":"123","image_event":"enjoy.jpg"},
   {"cPID":"1234","image_event":"enjoy.jpg"},
   {"cPID":"12345","image_event":"enjoy.jpg"},
   {"cPID":"123456","image_event":"enjoy.jpg"},
   {"cPID":"1234567","image_event":"enjoy.jpg"}
]
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.