implode массив в строку, отделенную запятыми от запроса mysql

в течение последних 1 1/2 дней я пытался сохранить 16 идентификаторов строк в строку и отделить каждый идентификатор запятой. Массив я получаю это от MySQL. Ошибки я получаю это

функция implode (): переданы недопустимые аргументы

$str=array();
$string="";
while($row = mysql_fetch_row($result)) 
{
    $user_id=$row;
    $str=$user_id;
    foreach($str as $p=>$v){
        comma($v);
    }
}

function comma($v){
    $string= implode(",",$v); echo $string;
}

3 ответов


попробуйте что-то вроде этого:

$ids = array(); 
while ($row = mysql_fetch_assoc($result))  
{
    $ids[] = $row["UserID"]; 
} 
echo implode(", ", $ids);

заменить "UserID" С именем столбца идентификатора в вашей таблице.

Так: сначала вы строите массив, рядом взрывай массив в строку.


вот мое решение:

SELECT GROUP_CONCAT(UserID) as string  FROM Users;

для этой функции разделителем по умолчанию является','.


$query = 'SELECT id FROM your_table';
$rs = mysql_query($query);

$row = mysql_fetch_array($result);
return implode(',', $row);

результат 1,2,3...