it-swarm.com.de

implodiere ein Array in einen durch Kommas getrennten String aus einer MySQL-Abfrage

In den letzten 1 1/2 Tagen habe ich versucht, 16 Zeilen-IDs in einer Zeichenfolge zu speichern und jede ID mit einem Komma zu trennen. Das Array, das ich bekomme, stammt von MySQL. Der Fehler, den ich erhalte, ist

implode () -Funktion: ungültige Argumente übergeben

$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;
}
11
dll_onFire

Versuchen Sie so etwas:

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

Ersetzen Sie "UserID" durch den Spaltennamen der ID in Ihrer Tabelle.

Also: Zuerst erstellen Sie das Array, dann implodieren Sie das Array in eine Zeichenfolge.

14
huysentruitw

Da ist meine Lösung:

SELECT GROUP_CONCAT(UserID) as string  FROM Users;

Für diese Funktion ist das Trennzeichen standardmäßig ','.

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

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

das Ergebnis 1,2,3 ...

0
Darwin