Timestamp - Abfrage aus der DB

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

  • Timestamp - Abfrage aus der DB

    Hallo,

    habe mittels Variablen Datum festgelegt welche ich dann aus der Datenbank holen will. Jedoch gibt er mir mit dieser Funktion leider keine Daten aus, obwohl ein Datensatz von gestern (21.9.) verfügbar wäre:


    PHP-Quellcode:
    PHP-Code:
    <?php
    $heute 
    mktime(000date("m")  , date("d"), date("Y")); 
    $gestern mktime(000date("m")  , date("d")-1date("Y")); 

    [
    weiterer Code....]

    $abfrage "SELECT id, gameid, system_xbox, system_ps2, system_pc, system_gc, datum, 
    uhrzeit, bild, bild_text, titel, subtitel FROM game2_news WHERE tstamp=
    $gestern AND status='1' ORDER BY id DESC LIMIT 0,5";
    $ergebnis mysql_db_query("$db_1",$abfrage,$verbindung);
    $num mysql_numrows($ergebnis); 
    [
    hier ginge der Code noch weiter...]
    ?>


    EDIT: In der Datenbank steht der Timestamp so drinnen: 1095722336

  • #2
    Re: Timestamp - Abfrage aus der DB

    In der Datenbank steht der Timestamp so drinnen: 1095722336
    - das ist auch der timestamp, den du erzeugst, für den gestrigen tag?
    - laß dir die query mal ausgeben ...
    - verwende die mySQL-datumsfunktionen!
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Ja, der Timestamp im obigen Beitrag ist der von gestern, allerdings. Natürlich wird er mir keine Daten aus der DB werfen wenn ich sage "WHERE tstamp=$gestern" da er natürlich nicht 1:1 gleich ist, weil bei meinem erzeugten via mktime Stunde, Minute und Sekunde nicht mitgeneriert wurden, was auch in diesem Fall nicht umsetzbar wäre.

      MySQL Datumsfunktionen?

      Das ist der Timestamp den ich mit der Funktion "$gestern" rausbekomme: 1095717600

      Kommentar


      • #4
        Original geschrieben von christoph19
        MySQL Datumsfunktionen?
        Lesen!

        Kommentar


        • #5
          Ja, der Timestamp im obigen Beitrag ist der von gestern, allerdings
          aha.
          da er natürlich nicht 1:1 gleich ist, weil bei meinem erzeugten via mktime Stunde, Minute und Sekunde nicht mitgeneriert wurden,
          also ist es doch nicht der richtige timestamp?

          es könnte ja sein, daß ich dich auf die
          MySQL Datumsfunktionen?
          hingewiesen hab, weil es damit sehr einfach machbar ist?
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Unter sehr leicht machbar stell ich mir was anderes vor. Versuche das schon seit 2 Tagen, in die MySQL Datumsfunktionen hab ich mich bereits reingelesen und einiges ausprobiert aber es WILL EINFACH NICHT.

            Selbst Moderatoren aus anderen Foren können mir nicht helfen, sind selbst ratlos

            Kommentar


            • #7
              dann machst du wohl noch irgendwas falsch, oder denkst immer noch zu kompliziert ...


              verabschiede dich am besten ganz vom format des unix timestamps, und nutze einem der mysql-datumstypen wie z.b. DATETIME oder TIMESTAMP stattdessen.

              dann kannst du sehr leicht abfragen, dass nur die ersten x zeichen deinem tagesdatum entsprechen sollen, und die zeitangabe dahinter einfach vernachlässigen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Versuche das schon seit 2 Tagen
                ...
                Selbst Moderatoren aus anderen Foren können mir nicht helfen, sind selbst ratlos
                hmm, so kanns gehen ...

                wo liegen denn genau die probleme?
                [ ] kenne die vorgehensweise nicht?
                [ ] kenne die syntax nicht um sie umzusetzen?

                letztendlich ist doch nur eine bedingung im WHERE ...
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Original geschrieben von christoph19
                  Unter sehr leicht machbar stell ich mir was anderes vor. Versuche das schon seit 2 Tagen, in die MySQL Datumsfunktionen hab ich mich bereits reingelesen und einiges ausprobiert aber es WILL EINFACH NICHT.

                  Selbst Moderatoren aus anderen Foren können mir nicht helfen, sind selbst ratlos
                  dann solltet ihr vielleicht Bäcker werden.


                  Tab-Feld -> Datetime
                  Eintrag mit now()
                  dann hier nach der passenden where klausel schauen
                  http://dev.mysql.com/doc/mysql/de/Da...functions.html

                  oder mal die Suche hier im Forum befragen
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #10
                    habe jetzt auf das Format "Timestamp" umgestellt. Habe jetzt auch die tabelle mit einem aktuellen Datums-Wert (NOW()) gefüllt und folgende 3 Abfragen versucht:

                    PHP-Code:
                    $abfrage "SELECT id, gameid, system_xbox, system_ps2, system_pc, system_gc, datum, 
                    uhrzeit, bild, bild_text, titel, subtitel, date_format(tstamp, '%d.%m.%Y') as tstamp FROM 
                    game2_news WHERE tstamp=NOW('%d.%m.%Y') AND status='1' ORDER BY id DESC LIMIT 0,5"
                    ;


                    ----------------


                    $abfrage "SELECT id, gameid, system_xbox, system_ps2, system_pc, system_gc, datum, 
                    uhrzeit, bild, bild_text, titel, subtitel, date_format(tstamp, '%d.%m.%Y') as tstamp 
                    FROM game2_news WHERE tstamp='23.09.2004' AND status='1' ORDER BY id DESC LIMIT 0,5"
                    ;

                    ---------------------
                    $abfrage "SELECT id, gameid, system_xbox, system_ps2, system_pc, system_gc, datum, 
                    uhrzeit, bild, bild_text, titel, subtitel, date_format(tstamp, '%d.%m.%Y') as tstamp FROM 
                    game2_news WHERE tstamp='20040923' AND status='1' ORDER BY id DESC LIMIT 0,5"
                    ;


                    ---------------------

                    $abfrage "SELECT id, gameid, system_xbox, system_ps2, system_pc, system_gc, datum, 
                    uhrzeit, bild, bild_text, titel, subtitel, date_format(tstamp, '%d.%m.%Y') as tstamp FROM 
                    game2_news WHERE tstamp=NOW('%d.%m.%Y') AND status='1' ORDER BY id DESC LIMIT 0,5"

                    Alle 3 liefern kein Ergebnis zurück. Mein Ziel: möchte sagen das .... WHERE tstamp="HEUTE" und z.B. ... WHERE tstamp="GESTERN"
                    Zuletzt geändert von christoph19; 23.09.2004, 09:07.

                    Kommentar


                    • #11
                      umbrichst du bitte deinen code?
                      danke.

                      bis zum 'as tstamp' kann ich etwas erkennen, dann ist mein monitor zu ende ...
                      OffTopic:
                      ist bei mir immer so ... wenn die menschen hier ihren post zu breit machen, kann ich immer nur die hälfte lesen, ... ist voll blöd, manchmal nur 10% des textes ... ich weiß auch nicht, wie das kommt ...
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        ich könnte natürlich auch in der while Schleife der Datenbankausgabe
                        eine if Schleife einbauen, die dann sagt if ($timestamp='xx.xx.xxxx') {..}

                        Nur denke ich das es auch einfacher und resourcen-schonender gehen sollte...

                        Kommentar


                        • #13
                          PHP-Code:
                          //wie schon mal geschrieben, Feld -> date oder datetime
                          //dann
                          where DATE_FORMAT(datum,'%d.%m.') = '17.05.'
                          //oder
                          where DATE_FORMAT(datum,'%d.%m.%Y') = '17.05.2004' 


                          EDIT:
                          achja, gehört eigentlich ins sql forum
                          mfg
                          marc75

                          <Platz für anderes>

                          Kommentar


                          • #14
                            vielen Dank, jetzt funktioniert es wie gewünscht :-)

                            Kommentar

                            Lädt...
                            X