Letztes Zeichen entfernen

dezz

Mitglied
Hallo,
habe folgenden Script:
PHP:
$befehl = "SHOW TABLES FROM db";
$ausgabe = mysql_query($befehl);
$i=1;

while ($row = mysql_fetch_array($ausgabe)){
    echo $row[0];
    $i++;
if($i<4 AND $i>1){        
    echo ",";
    }
}

Dieser liest alle Tabellennamen aus meiner Datenbank aus, und gibt die in einem Array aus.
Hier Ausgabe:
admin,test,user
Normal gibt der: admintestuser, aus.
Ich will nun, dass die Ausgabe nur eine Variable ist, in der Form: admin,test,user
Wie bekommt man das hin? Habe stundenlang einiges ausprobiert, leider kommt nicht ganz das raus was ich will :(
 
in der Schleife die Einträge in einen Array fassen und anschliessend in einen String mit Trennzeichen wandeln
PHP:
while ($row = mysql_fetch_array($ausgabe)){
    $tables[] = $row[0];
}  
echo implode(',', $tables);
 
Folgendes ginge auch, dürfte wohl auch schneller sein, da es die PHP-Schleife nicht benötigt.

Es greift auf die INFORMATION_SCHEMA-DB zu, in der MySQL die Informationen über die Datenbanken lagert.
Da dies eine SELECT ermöglich, kann man dort GROUP_CONCAT() einsetzen:
Code:
$query=mysql_query("SELECT GROUP_CONCAT(table_name SEPARATOR ',') as tablelist
                    FROM information_schema.TABLES
                    WHERE table_schema='nameDerDatenbank'");

echo mysql_result($query, 0);
 
Zurück