While-Auflistung in Tabelle ausgeben

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

  • While-Auflistung in Tabelle ausgeben

    Hi Leute,

    hmmm, wie erkläre ich das am besten...

    Ich möchte mit while() eine Auflistung eines Datenbestandes darstellen.
    Nur soll nicht alles untereinander stehen, sondern in einer HTML-Tabelle zwei- oder gar dreispaltig nebeneinander.

    Mich interessieren zwei mögliche Varianten.

    Beispiel 1:

    1 2
    3 4
    5 6
    7 8

    bzw.

    1 2 3
    4 5 6
    7 8 9

    Beispiel 2:

    1 5
    2 6
    3 7
    4 8

    bzw.

    1 4 7
    2 5 8
    3 6 9

    Wer kann mir zu mindes mal Beispiel 1 erklären, denke das lässt sich einfacher umsetzen.
    Kleines Script-Beispiel wäre super.

    Gruß & Dank,
    Andi

  • #2
    schiddebön !
    PHP-Code:
    // unser Array 
    $x = array( "Hallo""dies""ist""ein""einfacher""Test" );
    // wieviel haben wir denn ?
    $count count$x );
    // es sollen 3 Spalten werden
    $spalten 3;
    // macht so und so viel Zeilen
    $zeilen = ( $count $spalten )?( ( $count - ( $count $spalten ) ) / $spalten ):$count $spalten;

    // Tabelle zeilenweise ausgeben
    echo "<table>\n";
    // Zeile für Zeile
    for( $i 0;$i $zeilen; ++$i ) {
        echo 
    "\t<tr>\n"
        
    // Spalte für Spalte
        
    for( $ii 0;$ii $spalten; ++$ii ) {
            
    // wenns nichts mehr gibt, ein &nbsp;
            
    echo "\t\t<td>" . ( isset( $x[$i $spalten $ii] )?$x[$i $spalten $ii]:"&nbsp;" ) . "</td>\n";
        } 
        echo 
    "\t</tr>\n";

    echo 
    "</table>";

    // Tabelle spaltenweise ausgeben
    echo "<table>\n";
    // Zeile für Zeile
    for( $i 0;$i $zeilen; ++$i ) {
        echo 
    "\t<tr>\n"
        
    // Spalte für Spalte
        
    for( $ii 0;$ii $spalten; ++$ii ) {
            
    // wenns nichts mehr gibt, ein &nbsp;
            
    echo "\t\t<td>" . ( isset( $x[$ii $zeilen $i] )?$x[$ii $zeilen $i]:"&nbsp;" ) . "</td>\n";
        } 
        echo 
    "\t</tr>\n";

    echo 
    "</table>"
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Schankedön

      Genau das, was ich suchte!

      Grütze, Andi

      Kommentar


      • #4
        Habe das ganze mal etwas verändert :

        PHP-Code:
        $bspvar=5;
        $_sel=mysql_query("SELECT id,beg from table WHERE id<=450");


        $i=0;
        while(
        $y=mysql_fetch_row($_sel))
        $x[$i++]=$y[0];



        // wieviel haben wir denn ?
        $count count$x );
        // es sollen 30 Spalten werden
        $spalten 30;
        // macht so und so viel Zeilen
        $zeilen = ( $count $spalten )?( ( $count - ( $count $spalten ) ) / $spalten ):$count $spalten;

        // Tabelle zeilenweise ausgeben
        echo "<table border=0 width=800 height=400 cellpadding=1 cellspacing=1 bgcolor=#000000>\n";
        // Zeile für Zeile
        for( $i 0;$i $zeilen; ++$i ) {
            echo 
        "\t<tr align=center bgcolor=#ffffff>\n";
            
        // Spalte für Spalte
            
        for( $ii 0;$ii $spalten; ++$ii ) {
                
        // wenns nichts mehr gibt, ein &nbsp;
                
        echo "\t\t<td><a href=\"view.php?viewid=" . ($z= isset( $x[$i $spalten $ii] )?$x[$i $spalten $ii]:"&nbsp;" ) . "\">$z</a></td>\n";
            }
            echo 
        "\t</tr>\n";
        }
        echo 
        "</table>";


        Wie mache ich es , dass überprüft wird , ob der wert für id gleich dem wert für $bspvar ist ? also dass das irgendwie so lauten muss ist mir klar :

        PHP-Code:
        if($bspvar==$y[2]) {.....} 
        Bloß soll dann wenn true zurückkommt , die bgcolor der <td>'s rot sein und wenn nicht , dann grün !
        Wie würde das funktionieren ?

        Kommentar


        • #5
          Ist $y[2] in diesem Fall überhaupt richtig ?

          Kommentar

          Lädt...
          X