Komma an letzter Stelle entfernen

Manuel

Mitglied
Hallo,

mich würde mal interessieren wenn ich Datensätze mit Einträgen auslese, Bsp. in der Datenbank gibt es eine Tabelle und in der Tabelle gibt es die Datensätze 1, 2, 3 mit dem Inhalt: hallo, ka, da

Wenn ich die jetzt auslesen möchte mit einer ganz normalen while Schleife, und ich nach jedem Eintrag ein Komma setze kommt das dabei raus: hallo, ka, da,

Wie entferne ich das letzte Komma ? Ich habe dazu in diesem Forum Beiträge gefunden aber diese machen das anders mit Checkboxen usw. ;)
 
Entweder du zählst eine Variable $i hoch und vergleichst sie mit mysql_num_rows oder
du benutzt substr, wobei length negativ sein sollte (siehe PHP-Manual)
 
PHP:
$string = 'hallo, ka, da,';
if($string[strlen($string)-1] == ',')
{
  $string = substr($string, 0, -1);
}

// oder kurz
$string = ( $string[strlen($string)-1] == ',' ? substr($string, 0, -1) : $string );

echo $string
 
Und wie gebe ich jetzt alle Benutzer aus die ich in $string reinschreibe ?
while ($row = mysql_fetch_object($query))
{
$string .= $row->userID;
}

geht schlecht.
 
VHIDT. (PHP seit Jahren nicht mehr benutzt.)

PHP:
$sql = mysql_query("SELECT Name FROM *");
$dataCount = mysql_num_rows($sql);
$dataSet = "";
for($i = 0; $row = mysql_fetch_object($sql); $i++)
{
	$dataSet+= $row->Name.($i != $dataCounter -1 ? ", " : "");
}
echo $dataSet;
 
Zuletzt bearbeitet:
Man kann einen String, der immer durch das selbe Zeichen getrennt ist, mit explode() wieder in ein Array überführen.

Die Frage wäre, warum du die Nutzer so in einem einzigen String speicherst. Mach das doch gleich in einem Array..
 
Die Fehlerzeile muss wie folgt heißen

Statt
PHP:
$dataSet+= $row->Name.($i != $dataCounter -1 ? ", " : "");

Mit einer weiteren Klammer
PHP:
$dataSet+= $row->Name.(($i != $dataCounter -1) ? ", " : "");



Warum kannst du das nicht? Und was spricht gegen explode()?
 
Zurück