[MYSQL] Anzahl der Datensätze je Rubrik zählen

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

  • [MYSQL] Anzahl der Datensätze je Rubrik zählen

    Ich möchte eine zwei Spaltige Übersicht erstellen die mir die einzelnen Rubriken anzeigt und die Anzahl der vorhanden Datensätze je Rubrik ausgibt.

    Also so wie bei Yahoo, Ebay etc. .

    Auto [5] , LKW [1]
    Häuser [0] , TV [0]

    Ich habe zwei Tabellen:

    Tabelle1 Categorie
    catid | cattitle

    Tabelle 2 Dokumente
    dokid | catid | title | beschreibung | datum | autor | url

    Wie muss die Abfrage aussehen?
    Wie muss die Ausgabe aussehen damit er mir das zwei Spaltig darstellt?

    MFG Maffy
    in der ruhe liegt die kraft

  • #2
    zu 1:
    schau dir mal JOINs in verbindung mit COUNT / GROUP BY an

    zu 2:
    forumssuche stichwort "gruppenwechsel" oder "zweispaltig"
    Kissolino.com

    Kommentar


    • #3
      Wenn ich das so mache bringt er mir eine Fehlermeldung

      PHP-Code:
      $sqlab1 " SELECT b.catid,b.cattitle, COUNT (a.catid) hits
                      FROM dokument a INNER JOIN categories b
                      ON a.catid = b.catid
                      GROUP BY a.catid "
      ;
          
          
      $erg mysql_query($sqlab1);
          
          while(
      $row mysql_fetch_object($erg))
          {
              echo
      "&nbsp;<a href=index.php?c=$row[catid]>$row[cattitle]&nbsp;($hits)</a>";
          } 
      in der ruhe liegt die kraft

      Kommentar


      • #4
        und wie lautet sie? warum postest du sie nicht? ist das ein staatsgeheimnis? oder sollen wir eine raterunde eröffnen?

        Kommentar


        • #5
          Im Zweifel liegts daran das er nicht nach b.catid,b.cattitle gruppiert ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Tabelle1 Categorie
            catid | cattitle

            Tabelle 2 Dokumente
            dokid | catid | title | beschreibung | datum | autor | url

            Fehlermeldung:
            Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource .....
            in der ruhe liegt die kraft

            Kommentar


            • #7
              was denn nun? categorie oder catagories, dokument oder dokumente

              Kommentar


              • #8
                dokument und categories so wie in der Abfrage.
                in der ruhe liegt die kraft

                Kommentar


                • #9
                  bringt er mir eine Fehlermeldung
                  Klasse!!!!

                  mach mal mysql_error()

                  Kommentar


                  • #10
                    bringt er mir eine Fehlermeldung
                    You have an error in your SQL syntax near '(a.catid) hits FROM dokument a INNER JOIN categories b ' at line 1
                    in der ruhe liegt die kraft

                    Kommentar


                    • #11
                      Habe jetzt schon alles mögliche Versucht, so schwer kann das doch nicht sein oder?

                      Hier noch mal der Code:
                      PHP-Code:
                      $sqlab1 " SELECT b.catid,b.cattitle, COUNT (a.catid) hits
                                      FROM dokument a INNER JOIN categories b
                                      ON a.catid = b.catid
                                      GROUP BY a.catid "
                      ;
                          
                          
                      $erg mysql_query($sqlab1);
                          
                          while(
                      $row mysql_fetch_object($erg))
                          {
                              echo
                      "&nbsp;<a href=index.php?c=$row[catid]>$row[cattitle]&nbsp;($hits)</a>";
                          } 
                      und die Fehlermeldung:
                      You have an error in your SQL syntax near '(a.catid) hits FROM dokument a INNER JOIN categories b ' at line 1
                      in der ruhe liegt die kraft

                      Kommentar


                      • #12
                        leerzeichen zwischen COUNT und () mal weglassen?

                        Kommentar


                        • #13
                          Er zeigt mir jetzt die Kategorien an. Aber nur fünf von insgesamt 6 Kategegorien.

                          Das Zählen klappt auch noch nicht, er zeigt mir überall nur einen Eintrag an. Obwohl ich in manchen Kategorien mehrere Dokumente für eine Kategorie angelegt habe.

                          PHP-Code:
                              $sqlab1 " SELECT count(a.catid) as hits,b.catid ,b.cattitle 
                                          FROM  dokument a INNER JOIN categories b
                                          USING (catid) 
                                          GROUP by a.catid "
                          ;
                              
                              
                          $sqlab    mysql_query($sqlab1);
                              
                              
                          $hits mysql_fetch_row$sqlab    );
                              
                          $hits $hits[0];
                              
                              while(
                          $row mysql_fetch_object($sqlab))
                              {
                              echo
                          "&nbsp;<a href=index.php?c=$row->catid >$row->cattitle&nbsp;($hits[0])</a>";
                              } 
                          in der ruhe liegt die kraft

                          Kommentar

                          Lädt...
                          X