problem bei while schleife und tabellenaufbau

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

  • problem bei while schleife und tabellenaufbau

    hi leute,

    und zwar ist es ziemlich einfach mit einer while schleife etwas in tabellenzeilen auszulesen.

    einfach in den while befehl den <td><tr></tr><tr></tr></td> reinschreiben.
    aber ich will eine gallery schreiben und da tut sich mir ein problem auf.

    ich würde es gerne so machen, dass ich 6 galleries mit den thumbnails der flyer anzeige - aber nicht untereinander, sondern drei in der ersten reihe und 3 in der zweiten.

    nur wie mach ich das dann mit der while schleife?

    ich hoff ihr wisst was ich mein....

    ty für die hilfe im vorraus

  • #2
    Wie wäre es z.B. mit einer Tabelle, die 2 Zeilen und 3 Spalten hat?
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      ja das is mir klar nur ich weiß ned wie ich die schleife aufbaun soll...

      wenn ichs mit mysql_fetch_array auslese...

      Kommentar


      • #4
        joa halt ne normale while schleife und mit em modulo kannste zB erkennen ob schon drei bilder da sind. Wenns weniger als 3 in der letzten zeile sind, also num_rows erreicht füllste eben die letzten spalten mit nem blank
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Sollte Funktionieren

          Hab mal 3 eingesetzt, also 3 Datensätze pro Zeile, beliebig viele Zeilen, man kann jede andere natürliche Zahl grösser eins einsetzen.

          PHP-Code:
          $counter 0;
          while(
          $liste mysql_fetch_array($ergebnis_realtion))
          {
            if(!(
          $counter 3)) echo("<tr>"); // Neue Zeile anfangen
            
          echo("<td>$datensatz</td>");
            
          $counter++;
            if(!(
          $counter 3)) echo("</tr>"); // Zeile Beenden
          }
          // Dafür sorgen, dass angefangene Zeilen mit leeren Zellen gefüllt werden
          if($counter 3) {
            for(
          $i $counter$i 3$i++)
            {
              echo(
          "<td>&nbsp;</td>");
            }
            echo(
          "</tr>");

          Falls es doch nicht funzt, bescheidsagen, wir haben 22:30 Uhr und mein Gehirn hat schon Feierabend, ich schau dann morgen früh nochmal nach, aber sollte funzen.

          cya max

          edit: $ bei der for schleife vergessen, und muss < statt <= heissen, sonst isses eine leere zelle zuviel
          edit2 : thx @wahsaga
          Zuletzt geändert von MaxP0W3R; 03.08.2004, 09:43.


          An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

          Kommentar


          • #6
            auf den ersten blick wird das nicht funktionierenimmer wenn $counter % 3 != 0 wird eine zeile geschlossen also erst denken dann posen
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Original geschrieben von MelloPie
              auf den ersten blick wird das nicht funktionierenimmer wenn $counter % 3 != 0 wird eine zeile geschlossen also erst denken dann posen
              Natürlich funzt das.

              SELBER mal denken, bevor du postest. Hast deinen Stern durch Spam bekommen, oder ?

              Hier mal ein Probelauf :

              PHP-Code:
              $counter 0;
              echo(
              "<table>");
              while(
              $counter <= 42)
              {
                if(!(
              $counter 3)) echo("\n<tr>"); // Neue Zeile anfangen
                
              $counter++;
                echo(
              "\n<td>$counter</td>");
                if(!(
              $counter 3)) echo("\n</tr>"); // Zeile Beenden
              }
              // Dafür sorgen, dass angefangene Zeilen mit leeren Zellen gefüllt werden
              if($counter 3) {
                for(
              $i $counter 3$i 3$i++)
                {
                  echo(
              "\n<td>&nbsp;</td>");
                }
                echo(
              "\n</tr>");
              }
              echo(
              "</table>"); 
              EDIT:
              zu bewundern unter www.phpexpert.de/test.php und habe dort 42 genommen, damit er 2 zellen auffüllen muss, habs auch mit einer Auffüllung und mit null auffüllungen getestet. So ich geh schlafen, n8
              Zuletzt geändert von MaxP0W3R; 03.08.2004, 09:43.


              An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

              Kommentar


              • #8
                Und extra für MelloPoe die Eklärung:

                x % 3 = 0 (= false), dass heisst eine durch 3 teilbare Zahl, d.h. es ist genau aufgegangen. Also nichts zu tun.

                x% 3 > 0 ( = true), in der letzten Zeile ist es nicht ganz aufgegangen, also muss eine bestimmte anzahl von zellen leer eingesetzt werden und die Zeile geschlossen werden.


                An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                Kommentar


                • #9
                  hey danke für die hilfe,
                  genau das hab ich gesucht
                  vielen dank

                  Kommentar


                  • #10
                    Bitte


                    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                    Kommentar


                    • #11
                      Original geschrieben von MaxP0W3R
                      Hast deinen Stern durch Spam bekommen, oder ?
                      OffTopic:
                      Zu deiner Info: den Stern bekommt man nicht durch Spams, sondern durch kompetente Hilfestellung . Jede macht auch mal Fehler, also auch Sterninhaber, aber nicht deswegen ist er auf ein Mal nicht mehr gut. Sei bitte vorsichtig mit deiner Aussage und beschmutzt den Stern nicht

                      Kommentar


                      • #12
                        OK, sorry wollte den Stern nicht beschmutzen, aber ich finde es schade, dass mich jemand anpflaumt, ohne selbst den Quelltext wirklich verstanden bzw. durchgelesen zu haben, und dazu noch denjenigen verunsichert, der den Codeschnipsel benutzen soll.
                        Denn jmd. mit mehr als 3k Posts und nem Stern vertraut man ja mehr als einem relativen Neuling (mich) mit nicht mal 1k Posting...

                        Denn
                        auf den ersten blick wird das nicht funktionieren
                        und
                        also erst denken dann posen
                        stellen mich ja wohl als eindeutig inkompetent da

                        Also Entschuldigung nochmal, war wohl nicht gut drauf, war ja auch schon spät

                        cya max


                        An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                        Kommentar


                        • #13
                          Original geschrieben von MaxP0W3R
                          PHP-Code:
                          if(!($counter 3) || $counter == 0
                          die abfrage ist trotzdem "doppelt gemoppelt"

                          was ergibt denn 0 % 3?

                          eben, 0 - also trifft !($counter % 3) eh schon zu, wenn $counter == 0 ist.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Ja das stimmt...


                            An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                            Kommentar


                            • #15
                              Original geschrieben von MaxP0W3R
                              OK, sorry wollte den Stern nicht beschmutzen, aber ich finde es schade, dass mich jemand anpflaumt, ohne selbst den Quelltext wirklich verstanden bzw. durchgelesen zu haben, und dazu noch denjenigen verunsichert, der den Codeschnipsel benutzen soll.
                              Denn jmd. mit mehr als 3k Posts und nem Stern vertraut man ja mehr als einem relativen Neuling (mich) mit nicht mal 1k Posting...

                              Denn und stellen mich ja wohl als eindeutig inkompetent da

                              Also Entschuldigung nochmal, war wohl nicht gut drauf, war ja auch schon spät

                              cya max
                              dann darfst du den jenigen zurechtweisen aber das hat mit der ganzen Gruppe nichts zu tun. Wenn ein Deutsche(r) Mist baut, sagt man ja auch nicht gleich, dass alle Deutschen schlecht sind, stimmt?

                              Kommentar

                              Lädt...
                              X