Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabellenausgabe

Einklappen

Neue Werbung 2019

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

  • Tabellenausgabe

    Hallo zusammen,

    ich soll für eine Aufgabe ein kleines php -Script schreiben welches eine Tabelle ausgibt "Das kleine 1 mal 1".

    1mal1.PNG

    Ich dachte mir also, ich lasse mit einer for - Schleife zunächst den Tabellenkopf erzeugen:

    PHP-Code:
    <!DOCTYPE html>
    <html lang="de">
    <head>
    <meta charset="utf-8" />
    <title>Aufgabe Nr. 1</title>
    </head>
    <body>
    <h1>Das kleine 1 mal 1</h1>

    <?php
    echo "<table cellspacing = '10'>\n";
    echo 
    "<thead>\n";
    echo 
    "\t<tr>\n";
    echo 
    "\t\t<th>*</th>\n";
        for(
    $p=1$p <=10$p++) {
            echo 
    "\t\t".'<th>'.$p.'</th>'."\n";

        }
    echo 
    "\t</tr>\n";
    echo 
    "</thead>\n";
    Das funktioniert auch soweit. Als nächstes ist ja dann der Tabellenbody dran. Hier verzweifle ich. Die erste for-Schleife soll die Zeilenbeschriftung <th> ausgeben. Die verschachtelte for-Schleife dann die Werte in den Zellen <td>. Leider wird alles nebeneinander ausgegeben. Auch ein <br /> hilft nicht, da die Zeilenumbrüche dann vor dem eigentlichen Inhalt ausgegeben werden.

    PHP-Code:
    echo "<tbody>\n";
    echo 
    "\t<tr>\n";
        for(
    $i=1$i <=10$i++) {
            echo 
    "\t\t".'<th>'.$i.'</th>'"\n";
                for(
    $u=1$u <=10$u++){
                    echo 
    "\t\t".'<td>'.$u*$i.'</td>'"\n";
                }
        }
    echo 
    "\t</tr>\n";
    echo 
    "</tbody>\n";
    echo 
    "</table>\n"
    ?>
    </body>
    </html> 
    Wie schaffe ich es, dass die Ausgabe im Browser nach dem Druchlauf der <td> - Schleife in der nöchsten Zeile beginnt? Wie gesagt, ein "<br \>" fügt die Breaks am Anfang des PHP Codes ein. Der Seitenquelltext sieht aus wie er soll. Die Ausgabe im Browser aber nicht.

    Hier nochmal der ganze Code:

    PHP-Code:
    <!DOCTYPE html>
    <html lang="de">
    <head>
    <meta charset="utf-8" />
    <title>Aufgabe Nr. 1</title>
    </head>
    <body>
    <h1>Das kleine 1 mal 1</h1>

    <?php
    echo "<table cellspacing = '10'>\n";
    echo 
    "<thead>\n";
    echo 
    "\t<tr>\n";
    echo 
    "\t\t<th>*</th>\n";
        for(
    $p=1$p <=10$p++) {
            echo 
    "\t\t".'<th>'.$p.'</th>'."\n";

        }
    echo 
    "\t</tr>\n";
    echo 
    "</thead>\n";
    echo 
    "<tbody>\n";
    echo 
    "\t<tr>\n";
        for(
    $i=1$i <=10$i++) {
            echo 
    "\t\t".'<th>'.$i.'</th>'"\n";
                for(
    $u=1$u <=10$u++){
                    echo 
    "\t\t".'<td>'.$u*$i.'</td>'"\n";
                }
        }
    echo 
    "\t</tr>\n";
    echo 
    "</tbody>\n";
    echo 
    "</table>\n"
    ?>
    </body>
    </html>
    Ich bitte von eventuell falsch formatiertem Seitenquelltext nach der Erzeugung abzusehen.

    Vielen Dank für Eure Hilfe.

    Gruß
    alabama

  • #2
    das Thema wurde hier im Forum schon behandelt, weiterhin gibt es hierzu tausende Beiträge im Netz. Ist dein Google kaputt?

    Kommentar


    • #3
      Die neue Zeile definierst du innerhalb der äusseren Schleife.

      Beispiel:
      PHP-Code:
      <?php
      $output 
      '';
      for (
      $i 1$i <= 10$i++) { // Row
          
      $output .= '<tr><td>' $i '</td>';
          for (
      $j 1$j <= 10$j++) { // Column
              
      $output .= '<td>' . ($i $j) . '</td>';
          }
          
      $output .= '</tr>';
      }

      ?>

      <!DOCTYPE html>
      <html>
          <head>
              <title>Multiply Table</title>
              <style>
                  th, td {
                      width: 30px;
                      height: 30px;
                      text-align: right;
                  }
              </style>
          </head>
          <body>
              <table style="widht:800 px;">
                  <thead>
                      <tr>
                          <th>*</th>
                          <th>1</th>
                          <th>2</th>
                          <th>3</th>
                          <th>4</th>
                          <th>5</th>
                          <th>6</th>
                          <th>7</th>
                          <th>8</th>
                          <th>9</th>
                          <th>10</th>
                      </tr>
                  </thead>
                  <tbody>
                      <?php echo $output?>
                  </tbody>
              </table>
          </body>
      </html>
      Desweiteren brauchst du das Steuerzeichen für Tabulator (\t) nicht. Dem Webbrowser ist es egal ob der HTML code Einrückungen aufweist oder nicht.

      Kommentar


      • #4
        Vielen Dank CPCoder.

        Kommentar

        Lädt...
        X