Tabelle erstellen mit foreach, PHP


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

123user123

Grünschnabel
Guten abend,

ich habe hier folgendes Array:
Javascript:
Array

(
    [0] => Array
        (
            [Jahr] => 2014
            [Kosten] => 3720
        )

    [1] => Array
        (
            [Jahr] => 2015
            [Kosten] => 3165
        )

    [2] => Array
        (
            [Jahr] => 2016
            [Kosten] => 1624
        )

    [3] => Array
        (
            [Jahr] => 2017
            [Kosten] => 1805
        )

    [4] => Array
        (
            [Jahr] => 2018
            [Kosten] => 2487
        )
)
Den Inhalt von diesem Array würde ich gerne in eine tabelle ausgeben die folgendermaßen aussieht:

Code:
Unternehmen |      Wert      |   Jahr  |  Kosten

   Intel          Revenue        2014     3720
                                 2015     3165
                                 2016     1624
                                 2017     1805
                                 2018     2487
Bis jetzt habe ich es geschafft nur die erste Zeile auszugeben:
PHP:
 echo '       
        <div style="table;th;td">
            <table align="center">
                <tr>
                    <th align="center">Company</th>
                    <th align="center">Value</th>
                    <th align="center">Year</th>
                    <th align="center">In Dollar</th>
                </tr>
                <tr>
                    <td align="center">'.$Ticker_Name.'</td>
                    <td align="center">'.$Value.'</td>
            ';
        foreach($costs as $key=>$value)
        {
            echo '<td align="center">'.$value['Jahr'].'</td>';
            echo '<td align="center">'.$value['Kosten'].'</td>';
            echo '</tr>';
            echo '</table>';
        }
Mein Problem ist es die restlichen jahre mit den entsprechenden Werten auszugeben, da ich nicht ganz verstehe wie ich auf diese werte zugreifen kann.
 

Sempervivum

Erfahrenes Mitglied
Du musst das Erzeugen der Zeile in das foreach hinein nehmen und das Abschliessen der Tabelle heraus:
Code:
 echo '       
        <div style="table;th;td">
            <table align="center">
                <tr>
                    <th align="center">Company</th>
                    <th align="center">Value</th>
                    <th align="center">Year</th>
                    <th align="center">In Dollar</th>
                </tr>
            ';
        foreach($costs as $key=>$value)
        {
            echo '<tr>';
            echo '<td align="center">'.$Ticker_Name.'</td>';
            echo '<td align="center">'.$Value.'</td>
            echo '<td align="center">'.$value['Jahr'].'</td>';
            echo '<td align="center">'.$value['Kosten'].'</td>';
            echo '</tr>';
        }
        echo '</table>';
 

Sempervivum

Erfahrenes Mitglied
PS: Ich sehe gerade, dass Du Unternehmen und Wert nur in der ersten Zeile ausgeben willst. Das kannst Du folgender Maßen erreichen:
Code:
        $name = $Ticker_Name;
        $val = $Value;
        foreach($costs as $key=>$value)
        {
            echo '<tr>';
            echo '<td align="center">'.$name.'</td>';
            echo '<td align="center">'.$val.'</td>
            echo '<td align="center">'.$value['Jahr'].'</td>';
            echo '<td align="center">'.$value['Kosten'].'</td>';
            echo '</tr>';
            $name = '';
            $val = '';
        }
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Neue Beiträge