Recuperando um conjunto de registros de database em uma matriz em php

Quero recuperar um conjunto de registros de uma tabela MySQL como uma matriz.

Até agora, consegui recuperar cada linha como uma matriz associativa. Mas eu quero todas as linhas em uma matriz porque eu tenho que acessar esse object completo no jQuery para exibi-las.

Isto é o que fiz até agora. Este é o meu script .php para recuperar dados

//select query $result = mysql_query("SELECT * FROM student",$con) or die (mysql_error()); $numRows = mysql_num_rows($result); //to iterate the for loop //passing as an associative array for ($count = 0; $count < $numRows; $count++){ $row = mysql_fetch_array($result, MYSQL_ASSOC); echo json_encode($row); } 

Isto é o que eu atualmente recebo

 {"StuId":"1","fName":"Saman","lName":"Kumara","age":"14","grade":"A"} {"StuId":"2","fName":"Marry","lName":"Vass","age":"12","grade":"B"} {"StuId":"3","fName":"Navjoth","lName":"Bogal","age":"32","grade":"A"} {"StuId":"4","fName":"Jassu","lName":"Singh","age":"22","grade":"E"} 

Mas eu quero esse conjunto de resultados como segue.

 [ {"TEST1":45,"TEST2":23,"TEST3":"DATA1"}, {"TEST1":46,"TEST2":24,"TEST3":"DATA2"}, {"TEST1":47,"TEST2":25,"TEST3":"DATA3"} ] 

Procuro ajuda para fazer isso. Desde já, obrigado.

Coloque tudo em uma matriz, então json_encode:

 $json = array( ); $result = mysql_query("SELECT * FROM student",$con) or die (mysql_error()); while( $row = mysql_fetch_assoc( $result ) ) { $json[] = $row; } echo json_encode( $json ); 

FYI: não há necessidade de contar o número de resultados for loop. mysql_fetch_ * manterá internamente um ponteiro na gravação atual e aumentará isso em cada chamada. Isso o torna um candidato perfeito para usar em um loop simples. Além disso, em vez de mysql_fetch_array e passando MYSQL_ASSOC, você pode simplesmente usar mysql_fetch_assoc, em vez disso, um método que eu prefiro. Faz o código mais fácil de ler também (na minha opinião, de qualquer maneira).