tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1551
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    hi,

    ich habe folgende abfrage

    PHP-Code:
    $sql "SELECT count(*) from zugriffe WHERE date(n,time)= '".$monat."' AND date(Y,time)='".$jahr."'";
    //in $monat steht eine 12 und in $jahr steht 2003 
    Die tabelle zugriffe hat 3 felder, das dritte heisst time und hat nen timestamp für das logindatum.
    jetzt wollte ich die anzahl der zugriffe von diesem monat, also dezember ausgeben.

    geht es generell, dass ich in der abfrage eine tabellenspalte mit date() formatiere?
    oder muss ich einen timestamp für monatsend und monatsanfang erstellen, und die abfrage etwa so machen:
    select from zugriffe where time > $anfangtimestamp and < $endtimestamp
     

  2. #2
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    die Abfrage währe so besser:
    PHP-Code:
    $sql "SELECT count(*) from zugriffe WHERE month(time)= '".$monat."' AND year(time)='".$jahr."'"
     

  3. #3
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    ah cool danke, das probier ich gleich
     

  4. #4
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    hmm zu früh gefreut, die abfrage bringt zwar keinen fehler, aber es gibt immer 0 zurück..

    PHP-Code:

    SELECT count
    (*) from zugriffe 
    WHERE month
    (time)=12 
    AND year(time)=2003 
    diese abfrage liefert 0 zurück, obwohl es eigentlich auf 9 datensätze zutrifft.
    was ist daran falsch?
     

  5. #5
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    A) da fehlen die ' um die werte
    month(time)='12'

    B) count(*) braucht normaler weise ein group by und * darf man auch nicht angeben
    es muss eine Spalte sein
    count(time)

    SELECT count(time) from zugriffe

    WHERE month(time)='12'

    AND year(time)='2003' Group by wasauchimmer
     

  6. #6
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    die anführungszeichen fehlen nur, weil ich das ausm phpmyadmin rauskopiert hab.

    das mit der month() und year() funktion scheint nicht hinzuhauen, sobald ich das einbaue liefert er 0 zurück

    //edit
    habe grad in der mysql doku geschaut, ich glaub die month funktion geht nur mit nem datum in der form: 2003-22-12
    Geändert von Rios (22.12.03 um 20:51 Uhr)
     

Ähnliche Themen

  1. Spalte in Excel per VBA formatieren
    Von hanshans im Forum Visual Basic 6.0
    Antworten: 13
    Letzter Beitrag: 07.03.12, 12:29
  2. Antworten: 3
    Letzter Beitrag: 11.01.09, 15:27
  3. SELECT: erst Spalte a, dann Spalte b
    Von campari im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 17.12.06, 12:47
  4. Antworten: 1
    Letzter Beitrag: 24.04.05, 19:07
  5. Antworten: 3
    Letzter Beitrag: 26.11.04, 21:30