Ankündigung

Einklappen
Keine Ankündigung bisher.

GROUP BY Tabellen in einer Tabelle zusammenfassen

Einklappen

Neue Werbung 2019

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

  • GROUP BY Tabellen in einer Tabelle zusammenfassen

    Hallo Leute,

    ich stehe vor einem kleinem Problem wo ich die Lösung nicht finde hab schon sehr sehr viel ausprobiert.

    Und zwar habe ich ein paar Datensätze per GROUP BY zusammen gefasst wenn ich es aber per HTML Tabelle ausgebe erscheinen mehrere Tabellen also Pro Datensatz eine Tabelle (Siehe Bild)




    Die Datensätze sollen aber alle nur in einer einzigen Tabelle erscheinen was muss ich da machen ? mit dem JOIN hab ichs auch versucht weiß aber nicht ganz wie ich da rangehen soll.


    Hier ist der Code:

    PHP-Code:
                     $netto_umsatz "SELECT SUM(TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL) AS no_no, ACTIVITY_PERIOD
                                                FROM einnahmen
                                                GROUP BY ACTIVITY_PERIOD"
    ;

                     foreach (
    $pdo->query($netto_umsatz) as $row) {
                     echo 
    "<div class="table-responsive"><table class="table table-bordered">";
                     echo 
    "<thead><tr><th>Monat:</th><th>Brutto Umsatz:</th></tr></thead>";

                     echo 
    "<tr><td>".$row['ACTIVITY_PERIOD']."</td>";
                     echo 
    "<td>".round($row['no_no'], 2)."&euro;</td></tr>";

                     echo 
    "</table></div>";
                     } 


    Danke im voraus


    LG Casa47

  • #2
    Der Kopf muss ausserhalb des foreach stehen.
    PHP-Code:
    <table  class="table table-bordered">
        <thead>
            <tr>
                <th>Monat:</th><th>Brutto Umsatz:</th>
            </tr>
        </thead>
        <tbody>
    <?php foreach ($pdo->query($netto_umsatz) as $row): ?>
            <tr>
                <td><?= htmlspecialchars($row['ACTIVITY_PERIOD'], ENT_COMPAT'UTF-8'?></td>
                <td><?= htmlspecialchars(round($row['no_no'], 2), ENT_COMPAT'UTF-8'?>€</td>
            </tr>
    <?php endforeach; ?>
        </tbody>
    </table>                 }
    Da das Element table schon ein Blockelement ist, kannst du dir das Div drumherum eigentlich sparen.
    Die Entietät als Ersatz für das Eurozeichen ist unnötig, schreibe es direkt rein. Verwende auch UTF-8 als Zeichenkodierung, falls du es nicht bereits machst.
    Beachte auch den Kontextwechsel zu HTML wenn du dynamische Ausgaben hast, wie in diesem Fall aus der Datenbank.

    Ich würde auch anstatt 2 Klassen zu verwenden
    <table class="table table-bordered">
    lieber eine id nehmen, aber das ist mehr Geschmackssache.

    Kommentar


    • #3
      Vielen vielen dank protestix hast mir echt weitergeholfen!

      Kommentar

      Lädt...
      X