Letzter Eintrag bitte OHNE Komma

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Letzter Eintrag bitte OHNE Komma

    hiho,

    in einer Schleife gebe ich Buchtitel aus (max. 3, aber nicht zwingend drei). Die Ausgabe erfolgt von Kommata getrennt:

    Die Bibel, Das Kleine Arschloch, Casablanca,

    Jetzt möchte ich verhindern, dass er hinter den jeweils letzten Eintrag noch ein Komma setzt (im Beispiel darf hinter Casablanca kein Komma mehr stehen).

    PHP-Code:

    $k
    =0;

    foreach (
    $titles as $item => $value) {

        if (
    $value['puID'] == $row_rsBook['PublisherID']) {
        
            if (
    $k <= 2) {
             
                echo 
    $value['title'].', ';
                
    $k++;
            
            }
                
        }
                                    

    So sieht es bisher aus, weiss jemand, wie ich es hinkriege, dass er das jeweils letzte Komma weglässt?

    1000 Dank, Marc

  • #2
    Scheide mit substr die letzten zwei Zeichen (Komma und Leerzeichen) nachträglich wieder raus
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Mache die Komma vor jedem Buch ausser vor dem ersten (mit $flag oder wenn string leer ist).
      Sehe ich gerade du kannst $k abfragen.

      Kommentar


      • #4
        Re: Letzter Eintrag bitte OHNE Komma

        PHP-Code:
                 if ($k <= 2) {
               echo 
        $value['title'];
               if(
        $k<2) {
                 echo 
        ', ';
               }
               
        $k++; 
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          PHP-Code:
          implode(","$array); 

          Kommentar


          • #6

            PHP-Code:
            von wahsaga:
            echo 
            $value['title'];
                   if(
            $k<2) {
                     echo 
            ', ';
                   }


            kürzer_aber_ äquivalent:
            echo 
            $value['title'] . ($k<2?', ':''); 

            Kommentar


            • #7
              Man Ihr könnt ja alle schön viel schreiben ... schon mal den letzten parameter von rtrim() gesehen ... ?
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                Noch ne Möglichkeit:

                PHP-Code:
                $output '';
                while(
                $value pos($titles)){

                  
                $output .= $value['title'];

                  if(
                next($titles)){
                    
                $output.= ', ';
                  }
                }
                echo 
                $output

                Zuletzt geändert von prego; 30.05.2006, 13:28.

                Kommentar


                • #9
                  Und grad noch eine:

                  PHP-Code:
                  $items = array();
                  foreach(
                  $titles AS $value){
                    if (
                  $value['puID'] == $row_rsBook['PublisherID']) {
                      
                  $item[] = $value['title'];
                    }
                  }

                  echo 
                  implode(",",$items); 

                  Kommentar


                  • #10
                    Original geschrieben von prego
                    Und grad noch eine:

                    [
                    "interessante" Variante. Warum?
                    Zuletzt geändert von muh (newbie); 30.05.2006, 13:38.

                    Kommentar


                    • #11
                      Implode hängt hinten das letzte Komma nicht an, sondern verbindet nur die Array Elemente mit "glue" - also...


                      EDIT:
                      Wobei ich gerade einen Fehler sehe. $item[] muß natürlich $items[] heißen.

                      Kommentar


                      • #12
                        Aha
                        (max. 3, aber nicht zwingend drei).
                        Wie macht man das mit implode?

                        Kommentar


                        • #13
                          Original geschrieben von muh (newbie)
                          Aha

                          Wie macht man das mit implode?
                          ganz einfach so wie prego es geschrieben hat vielleicht?
                          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                          Schön - etwas Geschichte kann ja nicht schaden.
                          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                          Kommentar


                          • #14
                            Original geschrieben von Quetschi
                            ganz einfach so wie prego es geschrieben hat vielleicht?
                            Aha, das sorgt meines geringen Wissens nicht dafür, dass höchstens 3 Einträge angezeigt werden, auch wenn es mehr hat. Auch die anderen Beiträge sind nicht dafür gedacht.

                            Kommentar


                            • #15
                              es sorgt dafür, dass so viele angezeigt werden wie im Array $titles drin sind - wenn irgendwelche Begrenzungen erwünscht sind kann man das ja an anderer Stelle lösen - ich denke Pregos Beispiel ging davon aus, dass $titles bereits mit der richtigen Menge gefüllt ist.
                              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                              Schön - etwas Geschichte kann ja nicht schaden.
                              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                              Kommentar

                              Lädt...
                              X