Я хотел бы повторить мои результаты из базы данных и сделать их похожими на массив. Они не обязательно должны быть массивом, но выглядят как один. т.е. когда я возвращаюсь к своему результату,
я бы хотел, чтобы мой конечный результат выглядел
[10,200,235,390,290,250,250]
Когда я пробую код ниже:
$query_rg = mysqli_query($link, "SELECT column FROM `table`"); $row_rg = mysqli_fetch_assoc($query_rg); echo '['; while ($row = mysqli_fetch_assoc($query_rg)) { $list = $row['column']; $listwithcoma = "$list,"; echo ltrim($listwithcoma,','); } echo ']'
Результат:
[10,200,235,390,290,250,250,]
Ты делаешь это неправильно. ltrim($listwithcoma,',')
не влияет.
ltrim – пробел пробела (или другие символы) с начала строки
Вы можете попробовать простой способ с помощью implode
.
$list = array(); while ($row = mysqli_fetch_assoc($query_rg)) { $list[] = $row['column']; } echo '[' . implode(',', $list) . ']';
Просто используйте GROUP_CONCAT
в запросе как
$query_rg = mysqli_query($link, "SELECT GROUP_CONCAT(`column` SEPARATOR ', ') as data FROM `table`"); $row_rg = mysqli_fetch_assoc($query_rg); print_r($row_rg['data']);
Попробуйте это
$list = array(); //define a array. while ($row = mysqli_fetch_assoc($query_rg)) { $list[] = $row['column']; //store column value in array. } $lists = "[".implode(",",$list)."]"; echo $lists; //will echo your results.
Вместо этого вы должны использовать функцию rtrim (), что тоже вне цикла.
$listwithcoma = ''; echo '['; while ($row = mysqli_fetch_assoc($query_rg)) { $list = $row['column']; $listwithcoma .= "$list,"; // echo ltrim($listwithcoma,','); Remove this } echo rtrim($listwithcoma,','); // Add this echo ']';