Andreas Cloos: letztes Komma entfernen

Moin,
ich bilde ein Array und lasse mir über  vorher per Checkbox ausgewählte Spalten die Ergebnisse zeigen.

Die Select-Anfrage sieht dann so aus:

$select="";
for($i=0;$i<count($field);$i++){
$select.=$field[$i].$komma;
}

Vorher definiere ich die Variable $komma wie folgt:

$anz=count($field);
$vorl=$anz - 1;

$komma="";
for ($j=0;$j<$vorl;$j++) {
$komma=',';
}

Egal, wie ich an $vorl (soll die vorletzte sein) rumschraube (anz-1 oder anz´-2), es geht nicht. Entweder kriege ich gar keine Kommas oder alle, was entweder zu einer Abfrage über eine unbekannte Spalte oder einem SQL-Syntax-Fehler führt.

Ich komme mir echt ein bisserl doof vor, aber ich komme nicht weiter... Bitte helft! Thanx vorab!

Greetz,
Andreas

  1. Hi Adreas,
    mach doch einfach in die for-Schleife ne If-Bedingung, um das komma zu setzen:

    $select="";
    for($i=0;$i<count($field);$i++){
    if ($i == count($field)-1)
    {
    $select.=$field[$i];
    }
    else {
    $select.=$field[$i].',';
    }
    }

    so sollte eigentlich ganz hinten kein Komma mehr stehen.

    MFG

    Philipp

  2. Moin auch!

    Die Select-Anfrage sieht dann so aus:

    $select="";
    for($i=0;$i<count($field);$i++){
    $select.=$field[$i].$komma;
    }

    Gehe ich richtig in der Annahme, daß du das Array $field in eine Zeichenkette umwandeln und die einzelnen Elemente durch Komma trennen willst?

    $select = implode(",",$field);

    Und fertig.

    http://www.php.net/manual/de/function.implode.php

    ;-)

    - Sven Rautenberg

  3. Moin,
    danke! Funzt! Könnt Euch küssen... Geb Euch aber lieber einen aus: YY !!
    Greetz,
    Andreas

    PS. Das Tutz auf php.net kannte ich irgendwie noch nicht, habe mein Wissen bisher von reeg.net und koehntopp.de. Ist gebookmarked, um solche Fragen für die Zukunft gem. Hausordnung zu vermeiden!