problem mit php ne reihe zu brechen (<tr>)

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

  • problem mit php ne reihe zu brechen (<tr>)

    moin leutz ^^
    Also habe folgendes problem :
    Irgendwie will php net mein tabelle brechen :/ der quellcode sieht so aus :


    PHP-Code:
    <table  cellpadding="0" cellspacing="0" align="center">
                    <tr>
                        <td class="grau" width="150"><b>Gruppe 1</b></td>
                        <td class="grau" width="150"><b>Gruppe 2</b></td>
                        <td class="grau" width="150"><b>Gruppe 3</b></td>
                        <td class="grau" width="150"><b>Gruppe 4</b></td>
                    </tr>
     <?php for($i=0;$i<=4;$i++){                   
     echo 
    "<tr>";
    while(
    $row1=mysql_fetch_array($gruppe1)) {
        if (
    strlen($row1)>0) {
          echo 
    "<td class='grau'>" $row1[name] . " (" $row1[klasse] . ")</td>";
        }
        else {
          echo 
    "<td class='grau'></td>";
        }
      }

          
                         
    while(
    $row2=mysql_fetch_array($gruppe2)) {
        if (
    strlen($row2)>0) {
          echo 
    "<td class='grau'>" $row2[name] . " (" $row2[klasse] . ")</td>";
        }
        else {
          echo 
    "<td class='grau'></td>";
        }
      }

                         
    while(
    $row3=mysql_fetch_array($gruppe3)) {
        if (
    strlen($row3)>0) {
          echo 
    "<td class='grau'>" $row3[name] . " (" $row3[klasse] . ")</td>";
        }
        else {
          echo 
    "<td class='grau'></td>";
        }
      }

                         
      while(
    $row4=mysql_fetch_array($gruppe4)) {
        if (
    strlen($row4)>0) {
          echo 
    "<td class='grau'>" $row4[name] . " (" $row4[klasse] . ")</td></tr>\n";
        }
        else {
          echo 
    "<td class='grau'></td></tr>\n";
        }
      }} 
    ?>

                   
                               
                </table>
    der zeigt einfach alles in der ersten reihe an aber der springt nie zur Zweiten 3ten oder 4ten :/
    Kann vllt einer helfen?!
    Zuletzt geändert von Garret; 11.06.2006, 17:01.

  • #2
    - Wo öffnest du die zweite Tabellenzeile?
    - Lass Dir mal den Quellcode der von PHP generierten Seite ausgeben. So lassen sich Fehler häufig einfacher erkennen.

    Kommentar


    • #3
      öhm.. sry den <tr> vergessen mitkopieren ^^"
      Also wenn ich komplett diese whileschleifen weghauen kriege ich nen einfaches tabellen design hin oO
      dann sieht das so aus :
      *klick*

      und wnen ich die while schleifen wieder hinzufügen sieht das wieder falsch aus :/ und zwar so :

      *klick*
      ich verstehe net wo der fehler liegt >.<

      Kommentar


      • #4
        Kann es sein, dass du Spalten mit Zeilen verwechselst?

        Kommentar


        • #5
          wie meinst du das gerade?! oO
          verstehe net was du genau meinst :/

          Kommentar


          • #6
            Ich meine: Kann es sein, dass jede deiner While-Schleifen eine Spalte füllen soll, keine Zeile?

            Das geht nämlich so überhaupt nicht. Du machst zur Zeit folgendes:
            PHP-Code:
            echo "<table>";
            for (
            Zeile 1 bis 4) {
                echo 
            "<tr>";
                while (
            Datensatz aus Gruppe 1) {
                    echo 
            "<td></td>";
                }
                while (
            Datensatz aus Gruppe 2) {
                    echo 
            "<td></td>";
                }
                while (
            Datensatz aus Gruppe 3) {
                    echo 
            "<td></td>";
                }
                while (
            Datensatz aus Gruppe 4) {
                    echo 
            "<td></td>";
                    echo 
            "</tr>";
                }
            }
            echo 
            "</table>"
            Wenn jede Gruppe 4 Datensätze enthält, dann sieht deine Tabelle so aus:
            Code:
            <table>
            <tr> (<-- wegen for für die 1. Zeile)
            <td></td><td></td><td></td><td></td> (<-- Gruppe 1)
            <td></td><td></td><td></td><td></td> (<-- Gruppe 2)
            <td></td><td></td><td></td><td></td> (<-- Gruppe 3)
            <td></td></tr><td></td></tr><td></td></tr><td></td></tr> (<-- Gruppe 4)
            <tr> (<-- wegen for für die 2. Zeile)
            <tr> (<-- wegen for für die 3. Zeile)
            <tr> (<-- wegen for für die 4. Zeile)
            </table>
            Im ersten Durchlauf der For-Schleife wird eine Zeile mit 4 (wegen 4 Gruppen) mal 4 (wegen 4 Datensätze pro Gruppe) Spalten erzeugt.

            Danach läuft zwar die For-Schleife noch 3 mal durch, aber die While-Schleifen werden dabei nicht mehr betreten.

            Ich empfehle dir einen ordentlichen Join der Gruppen schon im SQL-Statement und dann eine einfache While-Schleife.
            Zuletzt geändert von onemorenerd; 11.06.2006, 20:11.

            Kommentar


            • #7
              thx xD
              leider hatte ich mit Join's noch nie was gemacht :/ muss mal schauen wie das hinkriege >.<
              vllt könntest du ja ne kleine anregung zeigen wie du es meintest :/
              würde glaube viel weiter helfen
              weil join's hat doch was mit tabellen verbinden zutun bei mir ist das aber 1 tabelle in der Db und 5-6 spalten :/




              Zuletzt geändert von Garret; 12.06.2006, 15:16.

              Kommentar


              • #8
                weiss net ob pushen darf aber brauche unbedingt ne kleine lösungshilfe :/ nen befehl oder was auch immer "onemorenerd" sagte was mit Join aber ich nutze nur 1 tabelle sähe wie folgt aus gruppe 1-4
                ich weiss mache mir das umständlcih aber fiel nix ein


                PHP-Code:
                $alles=mysql_query("SELECT * FROM $dbtabelle ORDER BY datum DESC LIMIT 2");

                while(
                $rowalles=mysql_fetch_array($alles)){


                $gruppe1=mysql_query("SELECT * FROM $dbtabelle WHERE gruppe=1 AND  datum=$rowalles[datum] 
                ORDER BY datum DESC "
                );
                $gruppe2=mysql_query("SELECT * FROM $dbtabelle WHERE gruppe=2 AND  datum=$rowalles[datum] 
                ORDER BY datum DESC "
                );
                $gruppe3=mysql_query("SELECT * FROM $dbtabelle WHERE gruppe=3 AND  datum=$rowalles[datum] 
                ORDER BY datum DESC "
                );
                $gruppe4=mysql_query("SELECT * FROM $dbtabelle WHERE gruppe=4 AND  datum=$rowalles[datum] 
                ORDER BY datum DESC "
                ); 

                Kommentar


                • #9
                  Das ist der größte Unsinn, den ich hier seit langem gesehen habe.

                  Lies doch erstmal ein ordentliches Einsteiger-Tutorial!

                  Kommentar


                  • #10
                    ... oO wie gesagt wie cih das lösen sollte fiel net ein ...
                    Hat nix mit einsteiger zutun bei mir òo könntest ja auch mal lokrative tips geben wie man das anders lösen könnte :P

                    Kommentar


                    • #11
                      Original geschrieben von Garret
                      Hat nix mit einsteiger zutun bei mir ...
                      Womit denn dann?

                      Kommentar


                      • #12
                        weil ich keine idee hatte das problem anders anzugehen?!
                        Du könntest auchmal irgendwelche tipps :P
                        Hatte auch shcon oft gegooglet doch leider fand nix passendes oder nach falschem gesucht

                        Kommentar


                        • #13
                          Original geschrieben von Garret
                          weil ich keine idee hatte das problem anders anzugehen?!
                          Na dann mach's doch so, wie du meinst ...
                          Du könntest auchmal irgendwelche tipps :P
                          Du könnten auch mal vollständiges Satz.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Original geschrieben von wahsaga
                            Na dann mach's doch so, wie du meinst ...

                            Du könnten auch mal vollständiges Satz.
                            joa könnte ich, mache ich dann eben ...

                            Na dann mach's doch so, wie du meinst ...
                            joa mach ich auch nur hilft mir das nix mit seinem satz vorhin mit join .
                            was meint der genau damit?!
                            Join ist ja dazu da um mehrere tabellen zu verbinden.
                            Aber ich habe nur 1 Tabelle mit 6 spalten also nützt mir da der Befehl join auch nix oder?
                            Zuletzt geändert von Garret; 12.06.2006, 23:14.

                            Kommentar


                            • #15
                              PHP-Code:
                                  echo "<td class='grau'></td>\n";
                                  }
                                }echo 
                              "</tr>";} ?> 

                              Kommentar

                              Lädt...
                              X