我从 PHP 运行了这个查询:
"SELECT * FROM punti WHERE uud='2a1c866f-9f08-4c81-aeeb-48ec3b98ab43'"
$con = mysqli_connect( $serverd, $userd, $passd, $datad )or die( "Unable to connect to the MySQL Server!" );
//$uud = mysqli_real_escape_string( $con, urldecode( $_POST[ 'uud' ] ) );
$query = mysqli_query( $con, "SELECT * FROM punti WHERE uud='2a1c866f-9f08-4c81-aeeb-48ec3b98ab43'" );
$numrows = mysqli_num_rows( $query );
if ( $numrows > 0 ) {
$array = array();
while ( $row = mysqli_fetch_assoc( $query ) ) {
$data = $row[ 'data' ];
$punti = $row[ 'punti' ];
$array = array_merge($array, array($data => $punti));
}
echo json_encode( $array );
} else {
echo "Vuoto";
}
结果: {"35\/03\/2018":"3","31\/03\/2018":"6"}
它返回 2 个结果,但在数据库中有 4 个结果
看照片就明白了:
同一查询的数据库结果:
问题出在你的array_merge
功能上。合并数组时,会使用相同的字符串键覆盖值。你有相同的字符串键,它是.31/03/2018
使用简单的[]
符号将新数组添加到结果中:
$array[] = array($data => $punti);
// instead
//$array = array_merge($array, array($data => $punti));
但请注意,您json
将拥有另一种结构,例如:
[{"35\/03\/2018":"3"},{"31\/03\/2018":"6"},{"31\/03\/2018":"1"}]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句