Werte in Spalte zählen und anzeigen

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

  • Werte in Spalte zählen und anzeigen

    Hallo,
    ich möchte aus folgender Tabelle jeweils die Anzahl anzeigen lassen, wie oft ein thema genannt wurde. Gerne auch sortiert nach der Anzahl...

    Die DB-Tabelle sieht so aus:
    | id | thema | partei |
    | 1 | thema1 | p1 |
    | 2 | thema2 | p2 |
    | 3 | thema3 | p3 |
    | 4 | thema2 | p4 |
    | 5 | thema4 | p5 |

    Mein PHP-Script sieht so aus:
    PHP-Code:
    <?php
    $sql
    ="SELECT thema, count( * ) FROM daten GROUP BY thema LIMIT 0 , 30";

    $ergebnis mysql_query($sql);
    while(
    $row =mysql_fetch_assoc($ergebnis))
    {
    echo 
    $row['thema'];
    }
    ?>
    In Phpmyadmin erhalte ich in der Abfrage:
    |thema | count( * ) |
    |thema1 | 2 |
    |thema2 | 1 |
    |thema3 | 1 |

    Die Abfrage scheint danach schonmal zu stimmen.
    In meinem Script ist die Ausgabe aber "ttt". Jetzt meine Frage: Wie bekomme ich da eine schöne Tabelle hin, wie sie in phpmyadmin zu sehen ist?

    Danke für jede Hilfe.
    Digitalspecht

  • #2
    Hallo,

    nach deinem
    PHP-Code:
    echo $row['thema']; 
    kommt weder ein Zeilenumbruch, noch ein
    HTML-Code:
    <br />
    , noch sowas wie
    PHP-Code:
    echo "</td></tr><tr><td>"
    Wenn du berücksichtigst, dass du auch den entsprechenden HTML-Code innerhalb der Schleife erzeugen musst, kannst du ganz leicht eine Tabelle draus machen.

    Der Spaltenreferenz mit count solltest du noch ein Alias verpassen, damit du sie in $row besser ansprechen kannst.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Vielen Dank schonmal. Ich habe nun die Abfrage mit AS angepasst und das geht auch. Nur als ich dann noch versucht habe die Tabelle zu implementieren, wird nichts mehr angezeigt:
      PHP-Code:
       <?php
      $sql
      ="SELECT thema AS themen, count( * ) AS anzahl FROM daten GROUP BY thema LIMIT 0 , 30 ";

      $ergebnis mysql_query($sql);
      while(
      $row =mysql_fetch_assoc($ergebnis))
      {
      echo 
      "<table>";
      echo 
      "<tr>";
      cho "<td>Themen</td>";
      echo 
      "<td>"$row['themen']"</td>";
      echo 
      "</tr>";
      echo 
      "<tr>";
      echo 
      "<td >Anzahl </td>";
      echo 
      "<td >"$row['anzahl']"</td>";
      echo 
      "</tr>";
      echo 
      "</table>";
      }
      ?>
      Habe auch versucht mit einem . vor und nach der Variablen $row[wasauchimmer] zu arbeiten bzw. die Anführungszeichen wegzulassen... Geht irgendwie nicht. Auch ist das wohl bissel Ressourcenaufwändig, so wie ich es gemacht habe, oder?

      Kommentar


      • #4
        Lies dir mal die Forenregeln durch, da steht, wie du dein Error-Reporting so einstellst, dass PHP dir alle Fehler anzeigt. Außerdem solltest du im Handbuch die Grundlagen zur Zeichenkettenverknüpfung durcharbeiten.

        Die table-Tags machen innerhalb der Schleife übrigens keinen Sinn. Du willst sicher eine Tabelle für alles und nur eine Tabellenzeile pro Datensatz. Also müssen <table> und </table> außerhalb der Schleife stehen.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X