HILFE Db Werte ermitteln und ausgeben

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

  • HILFE Db Werte ermitteln und ausgeben

    Hallo Nochmals,

    Ich versuche es erneut zu erklären was ich benötige.
    Gegeben ist eine MySQL DB. Ein Feld davon ist "regdate" als TIMESTAMP.
    Gespeichert wird es als varchar(14)
    Nun muß ich eine HTML Ausgabe wie im code angegeben erstellen.

    Ich muß nun irgendwie die Kalenderwochen ($kw) ermitteln und dazu zu jedem Tag die Anzahl ($anz) der einträge.

    Kann mir jemand helfen den notwendigen php / SQL code zu erzeugen.
    Ich bekomms einfach nicht hin.

    PHP-Code:
    <table border="1" cellspacing="0" cellpadding="0" width="100%">
     <
    tr>
        <
    td width="21" rowspan="5">
        <
    img border="0" src="img/leer.gif" width="20" height="20"></td>
        <
    td width="191"><b><font size="2" face="Arial">Wochenauswertung</font></b></td>
        <
    td width="651" colspan="7">&nbsp;</td>
        <
    td width="21" rowspan="5">
        <
    img border="0" src="img/leer.gif" width="20" height="20"></td>
      </
    tr>
      <
    tr>
        <
    td width="191"><font size="2" face="Arial" color="#000080">KW$kw</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag $anz</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
      </
    tr>
      <
    tr>
        <
    td width="191">&nbsp;</td>
        <
    td width="93" align="center"><font size="2" face="Arial">Montag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Dienstag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Mittwoch</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Donnerstag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Freitag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Samstag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Sonntag</font></td>
      </
    tr>
        <
    tr>
        <
    td width="191"><font size="2" face="Arial" color="#000080">KW$kw</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
        <
    td width="93" align="center"><font face="Arial" size="2">Anzahl Tag</font></td>
      </
    tr>
      <
    tr>
        <
    td width="191">&nbsp;</td>
        <
    td width="93" align="center"><font size="2" face="Arial">Montag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Dienstag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Mittwoch</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Donnerstag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Freitag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Samstag</font></td>
        <
    td width="93" align="center"><font size="2" face="Arial">Sonntag</font></td>
      </
    tr>
      </
    table

  • #2
    Re: HILFE Db Werte ermitteln und ausgeben

    Gegeben ist eine MySQL DB. Ein Feld davon ist "regdate" als TIMESTAMP.
    Gespeichert wird es als varchar(14)
    Ich verstehe nicht, warum die einen timestamp als varchar speicherst.
    Wenn du die Spalte als timestamp(14) definierst, kannst sehr gut mit den Datums- und Zeitfunktionen in MySQL arbeiten.
    if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

    Kommentar


    • #3
      Hallo
      Ja verstehe, aber nun ist es so drin.
      Nachträglich ändern geht das?
      Wenn nicht wie mache ich es dann??

      Kommentar


      • #4
        Du kannst die Spalte auch nachträglich ändern.
        PHP-Code:
        ALTER TABLE DeineTabelle CHANGE regdate regdate TIMESTAMP(14) DEFAULT NULL 
        Die Werte bleiben erhalten.
        (Ohne Gewähr, deshalb besser vorher ein dump machen )
        if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

        Kommentar


        • #5
          Hallo nochmals,

          wie kann ich das erreichen OHNE die DB zu ändern?
          Wenn in der DB TIMESTAMP eingestellt wird, stimmen ja die scripte nicht mehr, wenn sich nun jemand registriert.
          ODER sehe ich das falsch???

          Kommentar


          • #6
            jei ... hängt davon ab, was du in den scripten machst. TIMESTAMP ist auch nicht die beste wahl, der ändert sich nämlich bei einem UPDATE automatisch wenn du keinen wert für die spalte angibst ... besser ist ein INT. und alles wissenswerte zur db-abfrage findest du hier: http://dev.mysql.com/doc/mysql/de/Da...functions.html
            Kissolino.com

            Kommentar


            • #7
              Brauche Hilfe

              Könnte mir jemand mal einen code machen, wie ich das was ich ganz oben beschrieb hinbekomme?
              Ich blicks nit mehr.

              Kommentar


              • #8
                Timestamp ermitteln

                Hallo

                dringende Frage:
                wie kann ich die 2 Timestamps einer Woche ermitteln.
                Also den wo die woche beginnt und den wo sie endet.
                Z.b. Woche 37, 38, usw..
                Danke

                Kommentar


                • #9
                  http://de.php.net/manual/de/function.strtotime.php

                  sie dir dort die beispiele an
                  UND bei den userkommentaren das das von FAUST
                  mfg,
                  [color=#0080c0]Coragon[/color]

                  Kommentar


                  • #10
                    Frage

                    Hallo

                    ich bin noch sehr unerfahren mit php etc.

                    wie und wo gebe ich da denn die KW-Zahl ein?

                    z.B. KW-Zahl= 37 ...dann brauche ich den ersten und letzten Timstamp

                    Kannste mir helfen?
                    Danke

                    Kommentar


                    • #11
                      OffTopic:
                      ... wozu machst du jetzt einen neuen thread auf?

                      es geht immer noch um dasselbe problem. also unterlasse solche crosspostings.

                      *zusammenführ*
                      Kissolino.com

                      Kommentar


                      • #12
                        MySQL Anweisung

                        Hallo,

                        Ansatz zur Lösung:
                        select
                        WEEK(FROM_UNIXTIME(regdate),3) kwoche,
                        YEAR(FROM_UNIXTIME(regdate)) jahr,
                        WEEKDAY(FROM_UNIXTIME)) tagnr,
                        count(*) anz,
                        from table
                        group by week

                        SQL-RESULT:
                        Bsp: für 14.09.2004 - 2 Einträge
                        kwoche -> 38
                        jahr -> 2004
                        tagnr -> 1
                        anz -> 2


                        zur Erklärung:
                        ) FROM_UNIXTIME zur Umwandlung des Strings regdate
                        ) 3 bei WEEK(FROM_UNIXTIME(regdate),3) kwoche bedeutet Wochenstart ist Montags nicht Sonntags (default-wert)


                        hoffe, das hilft Dir weiter...

                        Kommentar


                        • #13
                          Frage

                          Erstmal danke
                          PHP-Code:
                          $result mysql_query ("select WEEK(FROM_UNIXTIME(regdate),3) kwoche,YEAR(FROM_UNIXTIME(regdate)) jahr,
                          WEEKDAY(FROM_UNIXTIME)) tagnr,count(*) anz,from user group by week"
                          );
                          echo 
                          mysql_error();
                          while (
                          $res mysql_fetch_array($result))
                          {


                          Bekomme Fehler:
                          Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web54/html/tooltest/kwausw.php on line 70
                          You have an error in your SQL syntax near ') tagnr,count(*) anz,from user group by week' at line 1

                          Ich hab noch nicht so ganz kappiert wie die KW da reinkommt und wie ich dann die restlichen daten abfragen muß.
                          Wäre echt lieb wenn du mir nochmal helfen könntest.

                          Kommentar


                          • #14
                            das sollte wohl eher so aussehen:
                            PHP-Code:
                            $result mysql_query ("select 
                                 WEEK(FROM_UNIXTIME(regdate),3) kwoche,
                                 YEAR(FROM_UNIXTIME(regdate)) jahr,
                                 WEEKDAY(FROM_UNIXTIME)) tagnr,
                                 count(*) anz
                            from `user` 
                            group by kwoche"
                            ); 
                            ... obs klappt
                            Kissolino.com

                            Kommentar


                            • #15
                              $result = mysql_query ("select WEEK(FROM_UNIXTIME(regdate),3) kwoche,YEAR(FROM_UNIXTIME(regdate))
                              jahr,WEEKDAY(FROM_UNIXTIME(regdate)) tagnr,count(*) anz from user group by kwoche");
                              echo mysql_error();

                              while ($res = mysql_fetch_array($result))
                              {

                              So ist nun die FM weg, aber wie gehts in der WHILE-Schleife weiter
                              Zuletzt geändert von phpneuling; 14.09.2004, 23:57.

                              Kommentar

                              Lädt...
                              X