#php #mysql #arrays #json
#php #mysql #массивы #json
Вопрос:
Я извлекаю данные из базы данных MySQL в массив assoc.
Мне нужно добавить дополнительную строку данных, topicstring, к каждому элементу в массиве, затем преобразовать в JSON.
Но по какой-то причине я могу заставить его добавлять дополнительные строки только к первому элементу в массиве или в качестве нового, последнего элемента в массиве.
Код:
$sql_build_profile="SELECT SourceOperation, FC, Register, RegisterID FROM DeviceProfiles WHERE DeviceID = '".$q."' AND RegisterID IN (".$ParameterArray.") ORDER BY RegisterID ASC";
$result_build_profile = mysqli_query($con,$sql_build_profile);
$json_array = array();
//Time to build the output
while($row1 = mysqli_fetch_assoc($result_build_profile)) {
$topicString = $UniqueString."/".$row1['RegisterID'];
$json_array[] = $row1;
foreach ($result_build_profile as $key => $result_build_profile) {
$result_build_profile[$key]['topic'] = $topicString;
}
echo json_encode($result_json);
}
Ответ №1:
Это может помочь:
$sql_build_profile="SELECT SourceOperation, FC, Register, RegisterID FROM DeviceProfiles WHERE DeviceID = '".$q."' AND RegisterID IN (".$ParameterArray.") ORDER BY RegisterID ASC";
$result_build_profile = mysqli_query($con,$sql_build_profile);
$json_array = array();
//Time to build the output
while($row1 = mysqli_fetch_assoc($result_build_profile)) {
$topicString = $UniqueString."/".$row1['RegisterID'];
$row1['topic'] = $topicString;
$json_array[] = $row1;
}
echo json_encode($json_array);