explode в цикле php

Есть например в базе 10 строк со столбцами например img и есть цикл php.

Никак не могу понять как сделать. например в цикле вывожу img все 10 строк, будет что-то типа этого : 1.jpg2.jpg3.jpg4.jpg и тд.

как одной переменной это всё вывести за пределы цикла? чтобы было так же 1.jpg2.jpg3.jpg4.jpg

$sql = $conn->query("SELECT * FROM table");
while ($row = $sql ->fetch(PDO::FETCH_ASSOC)){  
    echo $row['img']; // например 4 строки с img будет выглядеть так:1.jpg2.jpg3.jpg4.jpg  
}

// мы уже за пределами цикла и сюда нужно вывести $row['img']

Ответы (3 шт):

Автор решения: Akina

Идеологически - так:

$sql = $conn->query("SELECT GROUP_CONCAT(img) AS img FROM table");
$row = $sql ->fetch(PDO::FETCH_ASSOC);
echo $row['img'];

Вывод: 1.jpg,2.jpg,3.jpg,4.jpg

Если не нравится разделитель-запятая, измени запрос.

PS. В PHP не смыслю ни хрена - так что с синтаксисом могу и наврать. Но на суть это не влияет.

→ Ссылка
Автор решения: IvaMuxa

вариант 1 по мере перебора цикла добавляем значение в переменную $fullrow таким образом все названия изображений в одной переменной

$sql = $conn->query("SELECT * FROM table");
while ($row = $sql ->fetch(PDO::FETCH_ASSOC)){  
    $fullrow .= $row['img'];
}
// мы уже за пределами цикла и сюда мы можем вывести $fullrow
echo $fullrow;

вариант 2 по мере перебора цикла добавляем значение в специально созданный массив $fullrowarray который сохранит все img за пределами цикла;

$sql = $conn->query("SELECT * FROM table");
while ($row = $sql ->fetch(PDO::FETCH_ASSOC)){  
    $fullrowarray[] = $row['img']; 
}

// мы уже за пределами цикла и мы можем использовать массив $fullrowarray  
// например вывести его содержимое на экран
print_r( $fullrowarray );
→ Ссылка
Автор решения: Андрей Аршинов

А вот так не канает?

$sql = $conn->query("SELECT * FROM table");
$rowsList_ARR   =   $sql->fetchAll(PDO::FETCH_ASSOC);
print_r($rowsList_ARR);

Если нужно как-то по-красивому, каким-то списком, то можно так :

$sql = $conn->query("SELECT * FROM table");
$rowsList_ARR   =   $sql->fetchAll(PDO::FETCH_ASSOC);
$rowsCount_INT  =   $sql->rowCount();

$result_TEXT    =   '';

for ($i = 0; $i < $rowsCount_INT; $i++) {
    
    if ($i > 0) { $result_TEXT  .=  ', '; }
    $result_TEXT    .=  $rowsList_ARR[$i];
    
}

echo $result_TEXT;
→ Ссылка