Sri*_*ine 5 php arrays json dataset
我想从MySQL表中检索一组记录作为数组.
到目前为止,我能够将每一行检索为关联数组.但是我想要一个数组中的所有行,因为我必须在jQuery中访问该完整对象才能显示它们.
这是我到目前为止所做的.这是我的.php脚本来检索数据
//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);
}
Run Code Online (Sandbox Code Playgroud)
这就是我目前得到的
{"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"}
Run Code Online (Sandbox Code Playgroud)
但我希望这个结果集如下.
[
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
Run Code Online (Sandbox Code Playgroud)
我这样做是寻求帮助的.提前致谢.
把它全部放在一个数组中,然后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 );
Run Code Online (Sandbox Code Playgroud)
仅供参考:没有必要计算循环结果的数量.mysql_fetch_*将在内部保留一个指向当前记录的指针,并在每次调用时递增该指针.这使它成为在简单的while循环中使用的完美候选者.另外,代替mysql_fetch_array并传递MYSQL_ASSOC,你可以简单地使用mysql_fetch_assoc,这是我更喜欢的方法.使代码更容易阅读(在我看来,无论如何).