【发布时间】:2016-12-05 13:39:18
【问题描述】:
我已经制作了三列tags_id,tags,user_id的MySQL数据库,它必须给出与user_id相关的所有标签。
例如:对于这个链接:“http://allwaysready.16mb.com/Cuboid/tagsTest.php?user_id[]=7”
输出是:
{"result":[{"tags":"Pascol"},{"tags":"PHP"},{"tags":"Python"}]}
但我需要将我的结果放在这样的单曲字符串中:
{"result":[{"tags":"Pascol","PHP",","Python"}]}
它不应该在数组中,我希望它在单个字符串中。
这是我的 php 代码:
<?php
if($_SERVER['REQUEST_METHOD']=='GET'){
$user_id = $_GET['user_id'];
require_once('dbConnect.php');
$user_tags = array();
foreach ($_REQUEST['user_id'] as $key => $val) {
$user_tags[$key] = filter_var($val, FILTER_SANITIZE_STRING);
}
$user_ids = "'" . implode("','", $user_tags) . "'";
$sql = "SELECT * FROM user_tags WHERE user_id IN ({$user_ids})";
$r = mysqli_query($con,$sql);
//creating a blank array
$result = array();
//looping through all the records fetched
while($row = mysqli_fetch_array($r)){
//Pushing name and id in the blank array created
array_push($result,array(
"tags"=>$row['tags']
));
}
//Displaying the array in json format
echo json_encode(array('result'=>$result));
mysqli_close($con);
}
我应该在我的代码中进行哪些更改。? 请帮帮我,谢谢。
【问题讨论】:
-
删除 array_push 并尝试这个 $result[tags][] = $row['tags'];
-
{"result":[{"tags":"Pascol","PHP",","Python"}]} ? 它甚至不是一个有效的
json字符串,你的意思是 {"结果":[{"tags":"Pascol,PHP,Python"}]}?