Ankündigung

Einklappen
Keine Ankündigung bisher.

Ein paar Fragen

Einklappen

Neue Werbung 2019

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

  • Ein paar Fragen

    Hallo

    habe da mal ein paar Fragen.

    1. Wie kann man eine detaillierte Statistik erstellen? Tage Woche Monate Jahr Gesamt? Wie muss man sowas programmieren und wie muss die tabellenstruktur dafür sein. wie sieht das aus mit den zahlen. werden die dann jeden tag verschoben aus einer spalte in die nächste `?

    2. Ist es möglich dass man einen Zähler hat zb download zähler... die anzahl klicks wird in einer spalte gespeichert. Diese Spalte soll aber zb monatlich gelöscht werden so dass jeden monat die zahl wieder von vorne beginnt. also bei 0. und die bisherigen einträge müssten dann in eine andere spalte gehen zb gesamt_klick Wie macht man sowas?

    danke schon im voraus


  • #2
    1) Eine Statistik von was?
    2) Du kannst das Datum oder wenigstens den aktuellen Monat mit in der Tabelle abspeichern und dann das SELECT (oder das UPDATE oder manchmal auch das DELETE) über eine WHERE-Bedingung einschränken.

    Kommentar


    • #3
      meine statistik sieht nun so aus das was ich bis jetzt gemacht habe

      Ihr Angebot xSmall wurde bisher 3 mal besucht. Davon 1 mal geklickt. 33.33 %

      Dies möchte ich aber jetzt erweitern in Tages, wochen, monate, jahres und gesamt statistik

      bei der spalte xsmall steht jetzt besucht 3 (wird bei jedem besuch um 1 hochgezählt) bei geklickt steht 1 (wird auch automatisch hochgezählt) Wie kann ich das nun ergänzen dass ich eine detailliertere statistik habe... macht man sowas mit einer neuen tabelle oder kann man in der spalte xSMALL tag,woche,monat,jahr,gesamt einfügen? und dann jeden tag den inhalt aus tag in woche schieben, usw?

      wie meinst du das mit dem datum?

      du würdest eine neue Tabelle anlegen? zb statistik. und bei jedem besuch würde es ein neue eintrag geben zb. datum und was gemacht wurde... ob klick oder nur besuch... und beim abfragen dann einfach mit where datum den heutigen tag suchen? die aktuelle woche? monat? jahr? usw

      ??? wie mache ich das dann bei der abfrage von woche? oder monat?

      Kommentar


      • #4
        Ich würde der bestehenden Tabelle ein Feld vom Typ DATE hinzufügen und einen unique index darauf legen. Wenn es bereits einen Eintrag zum heutigen Datum gibt, schlägt das INSERT fehl und man kann statt dessen mit UPDATE den Zähler hochsetzen. Bei MySQL geht das zum Beispiel in einer Anweisung mit INSERT .. ON DUPLICATE

        Kommentar


        • #5
          hmm...

          da versteh ich nur bahnhof...

          hier mal meine tabelle

          name,besuch,klick

          wobei besuch jedesmal geupdated wird wenn jemand das profil anschaut
          und klick jedesmal geupdated wird wenn jemand auf den link klickt

          was würde mir denn nun das feld date bringen?

          Kommentar


          • #6
            Dass Du die Clicks pro Tag erfassen kannst.

            site_id, site_name
            1, siteA.biz
            2, siteB.biz

            site_id, datum, besuch, klick
            1, 2008-04-01, 1600, 80
            2, 2008-04-01, 100, 50
            1, 2008-04-02, 1300, 70
            2, 2008-04-02, 120, 60
            1, 2008-04-03, 1500, 40
            2, 2008-04-03, 110, 40
            1, 2008-04-04, 1500, 60
            1, 2008-04-05, 1600, 80
            1, 2008-04-06, 1700, 80
            1, 2008-04-07, 1800, 70

            Die Tagesauswertung ist trivial. Und für die Wochen-, Monat-, Jahresauswertung kannst Du die Datumsfunktionen der Datenbank verwenden. Bei MySQL zum Beispiel WHERE site_id=1 AND Week(datum)=13

            Kommentar


            • #7
              Ok das ist das was ich meinte mit einer neuen tabelle (statistik anlegen)
              das versteh ich wie das zu machen ist.

              Zitat von David Beitrag anzeigen
              Ich würde der bestehenden Tabelle ein Feld vom Typ DATE hinzufügen und einen unique index darauf legen. Wenn es bereits einen Eintrag zum heutigen Datum gibt, schlägt das INSERT fehl und man kann statt dessen mit UPDATE den Zähler hochsetzen. Bei MySQL geht das zum Beispiel in einer Anweisung mit INSERT .. ON DUPLICATE
              was meinst du mit Unique index? was ist das?

              Week(datum)=13

              muss man dort b ei (datum) das datum hinschreiben oder geht das so wie es dort steht und dann 13 ist die 13. woche vom jahr..

              und bei monat wäre dann

              Month(datum)=12
              Year(datum)=2008

              Kommentar


              • #8
                Zitat von robydog Beitrag anzeigen
                Ok das ist das was ich meinte mit einer neuen tabelle (statistik anlegen)
                eigentlich habe ich Deine Tabelle nur um das Feld datum erweitert und dann name(varchar) durch site_id(Zahl) ersetzt. Eine neue Tabelle ist nicht unbedingt notwendig.

                Zitat von robydog Beitrag anzeigen
                was meinst du mit Unique index? was ist das?
                MySQL :: MySQL 5.0 Reference Manual :: 12.1.4 CREATE INDEX Syntax
                Bei anderen Datenbanksystemen funktioniert das ähnlich.
                Zitat von robydog Beitrag anzeigen
                Week(datum)=13

                muss man dort b ei (datum) das datum hinschreiben oder geht das so wie es dort steht und dann 13 ist die 13. woche vom jahr..
                `datum`ist das neue Feld in der Tabelle vom Typ DATE. Die MySQL-Funktion Week() ermittelt von einem DATE,DATETIME oder TIMESTAMP die Wochennummer.

                Zitat von robydog Beitrag anzeigen
                und bei monat wäre dann

                Month(datum)=12
                Year(datum)=2008
                Genau.
                MySQL :: MySQL 5.0 Reference Manual :: 10.3 Date and Time Types und MySQL :: MySQL 5.0 Reference Manual :: 11.6 Date and Time Functions

                Kommentar

                Lädt...
                X