Letzter Eintrag bitte OHNE Komma

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

  • #16
    Original geschrieben von Quetschi
    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.
    Nein, diese Annahme trifft gemäss OP nicht zu und dein Ratschlag macht bloss PHP zu einer (anscheinend) ineffizienten Programmiersprache. Im konkreten Fall geht es viel einfacher als hier geraten wurde.

    Kommentar


    • #17
      Original geschrieben von muh (newbie)
      Nein, diese Annahme trifft gemäss OP nicht zu ...
      wieso trifft diese Annahme nicht zu

      Original geschrieben von muh (newbie)
      Im konkreten Fall geht es viel einfacher als hier geraten wurde.
      Dann leg los...
      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


      • #18
        siehe erster beziehungsweise dritter Beitrag dieses thread.

        Kommentar


        • #19
          Re: Letzter Eintrag bitte OHNE Komma

          $titles ist offensichtlich nicht bereits mit der korrekten Menge passender Items gefüllt ... daher würde ich Pregos Variante noch um ein break erweitern
          PHP-Code:
          $items = array();
          foreach (
          $titles as $value) {
            if (
          $value['puID'] == $row_rsBook['PublisherID']) {
              
          $items[] = $value['title'];
              if (
          count($items) == 3) {
                break;
              }
            }
          }
          echo 
          implode(','$items); 
          Genauso übersichtlich ist folgende Variante:
          PHP-Code:
          $i 0;
          foreach (
          $titles as $value) {
            if (
          $value['puID'] == $row_rsBook['PublisherID']) {
              if (
          $i 2) {
                echo 
          $value['title'].', ';
                
          $i++;
              } else {
                echo 
          $value['title'];
                break;
              }
            }

          Wem das schon zu lang ist oder wer auf Lesbarkeit keinen Wert legt, der kanns ja hiermit versuchen (ungetestet):

          for($i=$k=0;$k<3&&isset($titles[$i]['puID']);$titles[$i]['puID']!=$row_rsBook['PublisherID']?($k++<2?print($titles[$i++]['title'].', ')rint($titles[$i++]['title'])):$i++);
          Zuletzt geändert von onemorenerd; 30.05.2006, 17:33.

          Kommentar


          • #20
            Die zweite Variante wäre also nicht richtig, was zeigt wie schwierig das Thema ist.

            Kommentar


            • #21
              PHP-Code:
              $k=0;

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

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

              Kommentar


              • #22
                Naja, das Thema ist eher simpel - Wenn ich es richtig sehe versucht mil28 Daten aus einer DB auszugeben. Das ganze Thema liese sich mit einer guten Query und einem simplen Join innerhalb von Sekunden lösen... Vor allem weil er ja noch schaut ob denn der PublisherID auch die gewünschte ist.

                Ich versteh nicht wieso ich X Datensätze aus der DB holen sollte wenn ich nur 3 brauche.

                Kommentar

                Lädt...
                X