我有JSON数组输出,但它包含重复值 下面你可以在第0个索引中看到重复的json_array ... 我不知道,问题是什么, 需要建议,为什么......?提前致谢
我的输出:
[{"gallery_url":"fdkgvdjvb.img"}][{"gallery_url":"fdkgvdjvb.img"},{"gallery_url":"gdfgh.mp4"}]
必填项:
[{"gallery_url":"fdkgvdjvb.img"},{"gallery_url":"gdfgh.mp4"}]
我的代码:
<?php
$json = array();
$gallery=$_GET['gallery'];
$con=mysqli_connect("localhost","allluser","password4");
if($con)
{
//echo "connected";
}
$db_select = mysqli_select_db($con,'jumeirah_db');
if($db_select)
{
//echo "db selected";
}
$user_type=$_GET['user_type'];
$image=mysqli_query($con,"Select gallery_url from ju_gallery where user_type='$user_type'");
if ($image) {
while($r = mysqli_fetch_assoc($image)) {
$json[] = $r;
print json_encode($json);
}
}
mysqli_close($con);
?>
答案 0 :(得分:1)
试
while($r = mysqli_fetch_assoc($image)) {
$json[] = $r;
}
print json_encode($json);
这应打印您的预期结果。
您的数据库实际上会返回两个结果,这些结果将导致while循环中的两次迭代。
第一次迭代将$ r添加到$ json数组中。现在数组有一个元素,你打印出来。
第二次迭代向你的$ json数组添加另一个$ r,该数组现在有两个元素。
第二个print
输出您的预期结果。
答案 1 :(得分:0)
取出json_encode语句。
<?php
$json = array();
$gallery=$_GET['gallery'];
$con=mysqli_connect("localhost","allluser","password4");
if($con)
{
//echo "connected";
}
$db_select = mysqli_select_db($con,'jumeirah_db');
if($db_select)
{
//echo "db selected";
}
$user_type=$_GET['user_type'];
$image=mysqli_query($con,"Select gallery_url from ju_gallery where user_type='$user_type'");
if ($image) {
while($r = mysqli_fetch_assoc($image)) {
$json[] = $r;
}
print json_encode($json);
}
mysqli_close($con);
?>