Ankündigung

Einklappen
Keine Ankündigung bisher.

distinct und count

Einklappen

Neue Werbung 2019

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

  • distinct und count

    Hallo,

    mühsam bin ich dabei gerade eine Rezeptdatenbank zur programmieren. Und ich habe folgendes Problemchen wo ich nix drüber finde und nicht weiterkomme:

    Ich habe in einer Spalte eine Zutaten stehen, immer nur eine. Als Hauptzutat. Nun möchte ich auf der Startseite eine Abfrage machen, dass mir diese Zutaten angezeigt werden. Aber immer nur einmal dann in der Liste. Das habe ich wunderbar hinbekommen und jede Hauptzutat wird nur einmal angezeigt, wenn ich da nun draufklicke, öffnet sich eine Suchzeite mit allen Rezepten dieser Hauptzutat.

    Nun möchte ich aber dahinter immer noch die Anzahl ALLER Rezepte haben, wo das drin ist!

    Hier mal mein kleiner Code:

    PHP-Code:
    <?php
    $abfrage 
    "SELECT distinct(hauptzutat) FROM rezepte ORDER BY hauptzutat";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
       {
    echo 
    "<a href='index.php?site=suche&search=$row->hauptzutat'>$row->hauptzutat</a>";
    }
    ?>
    So soll es dann aussehen:

    Hühnerfleisch (
    Rindfleisch (14)
    Kartoffeln (16)
    ...

    Nun habe ich gelesen, dass man das ja mit COUNT irgendwie basteln kann und auch COUNT(DISTINCT...) irgendwie - aber ich steh komplett vorm WALD!!!

  • #2
    PHP-Code:
    <?php
    $abfrage 
    "SELECT hauptzutat, count(hauptzutat) as anzahl
        FROM rezepte 
        GROUP BY hauptzutat
        ORDER BY hauptzutat DESC"
    ;
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
       {
    echo 
    "<a href='index.php?site=suche&search=$row->hauptzutat'>$row->hauptzutat ($row->anzahl)</a>";
    }
    so ungefähr müsste des gehn
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      HAMMER!

      Mein Retter! Es funktioniert!!!
      Danke - da äre ich nie drauf gekommen!!!!!!!

      Kommentar


      • #4
        Willkommen im Forum!

        Damit Du hier nicht mit dem falschen Fuß einsteigst beherzige bitte diesen Thread.
        Wichtige Punkte:
        • Wir helfen gern, wenn Du Initiative zeigst. Macht mal ist nicht.
        • Bitte benutze die Code-Box-Buttons und poste relevanten Code.
        • Bitte stelle verständliche Fragen in ordentlicher Sprache. Sei prägnant!
        • Bitte verwende für spätere Leser einen Threadtitel, der das Problem kurz beschreibt
        • Bitte drängle nicht.
        • Bitte markiere abgeschlossene Themen über den "Erledigt"-Link oben links.


        +
        • Beachte das richtige Forum! In Deinem Fall ist die Frage datenbankspezifisch, gehört also in diese Sektion.



        [MOD: verschoben]
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Da ich gestern nicht ausreichend Zeit hatte einen halbwegs qualifizierten Beitrag zu leisten tue ich das jetzt Mal im Nachtrag:

          Also wenn du eine Rezepte-Datenbank aufbauen möchtest, würde ich dir empfehlen dir erstmal die Normalisierung anzu schauen:
          für einen groben Überblick kannst du dir Normalisierung (Datenbank) – Wikipedia anschauen

          MySQL Datenbankhandbuch: Tutorial Normalisierung von Datenbanken
          Hier kannst du dann weiter lesen, ist finde ich ganz gut gemacht.

          IMHO solltest du deine Datenstruktur ändern.

          mit beispielsweise 3 Tabellen:
          rezepte, zutaten, rezepte_zutaten_xref

          oder ähnliches.
          Zu erwähnen ist auch, das es im Normalfall ausreicht bis zur 3.Normalisierung zu normalisieren
          Ich weiß nimmer ob das drin steht.

          Tschuldigung für die schlechte Formulierungen... isz noch net 8Uhr und ich hab erst meinen zweiten Kaffee...
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar

          Lädt...
          X