Ich habe MySQL-Datenbank mit drei Spalten tags_id
, tags
, user_id
gemacht, es muss alle Tags in Bezug auf die user_id
gegeben geben.Wie Werte aus mehreren Zeilen als eine einzige Zeichenfolge abgerufen werden
zB: für diesen Link: "http://allwaysready.16mb.com/Cuboid/tagsTest.php?user_id[]=7"
Ausgang ist:
{"result":[{"tags":"Pascol"},{"tags":"PHP"},{"tags":"Python"}]}
Aber ich brauche mein Ergebnis so in einem singen String zu sein:
{"result":[{"tags":"Pascol","PHP",","Python"}]}
Es sollte nicht in Array Ich will es in einer einzigen Zeichenfolge.
Hier ist meine PHP-Code:
<?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);
}
was soll ich in meinem Code ändern.? bitte helfen Sie mir Jungs, danke.
Remove array_push versuchen und dieses $ versuchen Ergebnis [Tags] [] = $ row ['Tags']; –
{"result": [{"tags": "Pascol", "PHP", "," Python "}]}? Es ist nicht einmal eine gültige' json' string, du meinst {"result": [{"tags ":" Pascol, PHP, Python "}]}? –