Ankündigung

Einklappen
Keine Ankündigung bisher.

AVG Durchschnittsberechnung in Tabellenform ausgeben

Einklappen

Neue Werbung 2019

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

  • AVG Durchschnittsberechnung in Tabellenform ausgeben

    Moin,
    vermutlich haben schon viele diese Frage gehabt, aber ich kriegs irgendwie nicht hin, vielleicht hat ja jemand eine Lösung ....?
    Also:
    Ich habe 2 Tabellen, aus denen jeweils der Durchschnitt berechnet und ausgegeben werden soll. Das klappt auch wunderbar!
    Will ich jedoch die Durchschnittswerte in einer Tabellenform ausgeben, klappt es leider zu gut, die Tabelle wird doppelt angezeigt

    Hat jemand eine Lösung?
    Besten Dank im Voraus!



    Hier der entsprechende Code:

    $sql = "SELECT AVG (a120) as durch1 FROM tab1 UNION SELECT AVG (a120) as mdurch1 FROM tab2";


    $db_erg = mysqli_query( $db_link, $sql );
    if ( ! $db_erg )
    {
    die('Ungültige Abfrage: ' . mysqli_error());
    }
    echo '<table border="2">';

    while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
    {
    echo "<tr>";
    echo "<td>name</td>";
    echo "<td>". $zeile ['durch1'] . "</td>";
    echo "<td>". $zeile ['mdurch1'] . "</td>";
    echo "</tr>";
    }
    echo '</table>';
    ?>

    doppelt.jpg


  • #2
    Lass mal PHP weg und schau dir das Ergebnis deiner SQL-Abfrage an.

    Bei Datenbankproblem bitte generell keinen PHP-Code posten.

    Kommentar


    • #3
      Das mit dem as mdurch1 funktioniert so nicht mit union, was du erkennen solltest wenn du den Hinweis von hellbringer folgst und dein SQL mit einem Datenbanktool zur Ausführung bringst.
      Was ist dein Ziel? Möchtest du beide Durchschnittswerte in einer Zeile bekommen? Das ist mit SQL machbar, wenn auch etwas umständlich.
      Einfacher ist es das mit PHP zu machen, indem beide Werte auslesen und in ein Array gepackt werden.
      PHP-Klassen auf github

      Kommentar


      • #4
        ein kleines Beispiel
        Code:
        select avg(measure)as mp1, (select avg(measure) from SampleTwo) as mp2 from SampleOne

        Kommentar


        • #5
          Oder
          Code:
          SELECT AVG(tab1.a120) as durch1, AVG(tab2.a120) as mdurch1
          FROM tab1, tab2

          Kommentar


          • #6
            Super, vielen Dank!!!!!!!!

            Kommentar

            Lädt...
            X