Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie DB-Ergebniss in html-Tabelle ausgeben ?

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

  • Wie DB-Ergebniss in html-Tabelle ausgeben ?

    Hallo,

    wie kann man das Ergebnis einer DB-Abfrage, so in einer html-Tabelle ausgeben lassen, das zuerst immer die ganzen ergebnisse einer Spalte ausgegeben werden, bevor es zur nächsten Spalte geht.

    Ich zeige es am besten mal an einem Beispiel:

    wenn ich eine DB-Abfrage habe mit 10 Ergebnissen, und diese in einer html-tabelle ausgeben will, macht man das ja z.B. so:


    PHP-Code:


    // Vorher erfolgt natürlich noch die übliche DB-Abfrage


    <table width="990"  border="1">

    <?php

    while($row mysql_fetch_array($result)) { ?>
          
      
      <tr>
        <td width="50%" ><?php echo $row['Name']; ?></td>
        <td width="50%" ><?php echo $row['Strasse']; ?></td>
      </tr>
      
     
    <?php ?>



    </table>


    Das würde dann später so aussehen:

    | NAME | STRASSE |

    Sarah | Meier-Str. 40 |
    Sonja | Weinberg-Str. 100 |
    ....



    Nur was muss man machen wenn man so eine Ausgabe will ?


    NAME | Sarah | Sonja |
    STRASSE | Meier-Str. 40 | Weinbert-Str. 100 |




    Meine Lösung ist das man das Ergebnis in der while-Schleife noch mal extra in ein Array speichert z.B. so :


    PHP-Code:



    <?php

    while($row mysql_fetch_array($result)) {

            
    $name[] = $row['Name'];
            
    $strasse[] = $row['Strasse'];
            
            }

    // später kann man dann so auf die einzelnen Ergebnisse zugreifen

    echo $strasse[1];     // gibt z.B. Weinberg-Str. 100 aus


    ?>

    um das dann später in der html-Tabelle anzuzeigen, kann man das dann so machen:

    PHP-Code:


    <table width="200" border="1">
      

    <tr>
        <td><?php echo $name[0]; ?></td>
        <td><?php echo $name[1]; ?></td>
       
      </tr>

    <tr>
        <td><?php echo $strasse[0]; ?></td>
        <td><?php echo $strasse[1]; ?></td>
       
      </tr>
      
    </table>



    Nur irgendwie sieht diese Lösung komisch aus bzw. funktioniert nur denke ich, wenn man vorher weiss, wieviel Ergebnisse man bekommt ?


    Was meint ihr


    Vielen Dank im voraus und einen gutes neues Jahr


  • #2
    nein. die letztendliche ausgabe kannst du ja auch in einer schleife machen.

    PHP-Code:
    echo '<table>':

    for( 
    $i 0$i count($_array); $i++ )
    {
         
    // zeilen ausgeben
    }

    echo 
    '</table>'
    grüße ben.
    privater Blog

    Kommentar


    • #3
      Danke, das funktioniert perfekt.

      Kommentar

      Lädt...
      X