kostenloser Webspace werbefrei: lima-city


Datensätze der letzten 24 Stunden ausgeben PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    Ich möchte tag/date">Datensätze in meiner Datenbank zählen. Dabei will ich 3 verschiedene Ausgaben haben ( letzte 24std / letzte 7 tage / letzte 30 tage ).

    Damit will ich Einträge von Usern zählen.
    Zurzeit werden diese Einträge nur in einer Usertabelle gespeichert.
    Ungefähr so

    User|Einträge
    xxxxx|5

    Wie würdet Ihr die Einträge der letzten 24 std. / 7 tage / 30 tage ausgeben?
    Ich habe keine Idee, wie ich das realisieren könnte.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. davy schrieb:
    Hallo !

    Ich möchte Datensätze in meiner Datenbank zählen. Dabei will ich 3 verschiedene Ausgaben haben ( letzte 24std / letzte 7 tage / letzte 30 tage ).

    Damit will ich Einträge von Usern zählen.
    Zurzeit werden diese Einträge nur in einer Usertabelle gespeichert.
    Ungefähr so

    User|Einträge
    xxxxx|5

    Wie würdet Ihr die Einträge der letzten 24 std. / 7 tage / 30 tage ausgeben?
    Ich habe keine Idee, wie ich das realisieren könnte.



    ich würde ein timestamp/date feld adden was mit NOW() bzw. CURRENT_TIMESTAMP beim einfügen die Zeit setzt
    so kannst du die eintrage später filtern

    Beitrag zuletzt geändert: 2.6.2013 13:41:57 von n0tiert
  4. Hallo

    mittels
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 24 HOUR);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 7 DAY);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 30 DAY);
    geht das. Wobei die Spalte `time` den Dateityp DATETIME haben sollte.

    Grüße :wave:
  5. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    limabone schrieb:
    Hallo

    mittels
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 24 HOUR);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 7 DAY);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 30 DAY);
    geht das. Wobei die Spalte `time` den Dateityp DATETIME haben sollte.

    Grüße :wave:


    Das geht aber nur, wenn es das Format d-m-y gibt, oder?
    Ich habe einen Timestamp im Feld. Wie geht das damit?

    In meiner User Tabelle habe ich ja auch nur den letzten Eintrag eines Users.
    Dann brauche ich noch eine Tabelle, oder? Wie würdet ihr das machen?
  6. davy schrieb:
    limabone schrieb:
    Hallo

    mittels
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 24 HOUR);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 7 DAY);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 30 DAY);
    geht das. Wobei die Spalte `time` den Dateityp DATETIME haben sollte.

    Grüße :wave:


    Das geht aber nur, wenn es das Format d-m-y gibt, oder?
    Ich habe einen Timestamp im Feld. Wie geht das damit?

    In meiner User Tabelle habe ich ja auch nur den letzten Eintrag eines Users.
    Dann brauche ich noch eine Tabelle, oder? Wie würdet ihr das machen?


    welches format hast du den als result , date-time timestamps oder unix timestamps ?
  7. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    n0tiert schrieb:
    davy schrieb:
    limabone schrieb:
    Hallo

    mittels
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 24 HOUR);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 7 DAY);
    SELECT * FROM `db_xxxxxx_1` WHERE `time` > DATE_SUB(DATE(NOW()), INTERVAL 30 DAY);
    geht das. Wobei die Spalte `time` den Dateityp DATETIME haben sollte.

    Grüße :wave:


    Das geht aber nur, wenn es das Format d-m-y gibt, oder?
    Ich habe einen Timestamp im Feld. Wie geht das damit?

    In meiner User Tabelle habe ich ja auch nur den letzten Eintrag eines Users.
    Dann brauche ich noch eine Tabelle, oder? Wie würdet ihr das machen?


    welches format hast du den als result , date-time timestamps oder unix timestamps ?


    Als Beispiel habe ich sowas: 1368229333
    also unix timestamp wahrscheinlich
  8. <?php
    
    // Verbindungs-Objekt samt Zugangsdaten festlegen
    @$db = new mysqli('mysql.lima-city.de', 'USERxxxxxx', 'pw','db_xxxxxx_1');
    
    // Verbindung überprüfen
    if (mysqli_connect_errno()) {
      printf("<br>Verbindung fehlgeschlagen: %s<br>", mysqli_connect_error());
      exit();
    }
    
    $ip = $_SERVER['REMOTE_ADDR'];
    $stamp = date("Y.m.d - H:i");
    
    echo "Datum : ", $stamp ," IP   : ", $ip , "<br>";
    // Tabellenkopf
    echo "
    <table>
    <thead>
    <td>ID</td>
    <td>Ip</td>
    <td>Name</td>
    <td>Datum</td>
    <td>x</td>
    <td>xx</td>
    
    </thead>
    ";
    
    // Datensatz-Ausgabe festlegen
    $sql_befehl = "SELECT * FROM xyz";
    
    if ($resultat = $db->query($sql_befehl)) {  
      // Durchlaufen der Datenbankabfrage
      while($datensatz = $resultat->fetch_array() ){
        // Datenfelder – Inhalte extrahieren und
        // als Variablen zur Verfügung stellen
        extract($datensatz);
        // Tabelleninhalt
        echo "
        <tr>
        <td>$ID</td>
        <td>$ip</td>
        <td>$Name</td>
        <td>$Datum</td>
        <td>$x</td>
        <td>$xx</td>
    
        </tr>
        ";
      }
      // Speicher freigeben
      $resultat->close();  
    } else {
      // Meldung bei Fehlschlag
      echo "Zugriff fehlgeschlagen!";
    }
    
    // Tabellenende
    echo "</table>";
    
    // Verbindung zum Datenbankserver beenden
    $db->close();
    
    ?>

    ich habe das in ner tabelle aus ausgabe > mußt nur auf deine zugangsdaten und datenbank zurechstuzen

    das kannst dann noch sortieren nach datum in der spalte $datum
  9. $query1 = "SELECT * FROM `db_xxxxxx_1` WHERE `time` <= '".time()-(24*60*60)."'";
    $query2 = "SELECT * FROM `db_xxxxxx_1` WHERE `time` <= '".time()-(7*24*60*60)."'";
    $query3 = "SELECT * FROM `db_xxxxxx_1` WHERE `time` <= '".time()-(30*24*60*60)."'";


    Und davy... Es gibt einen Unterschied zwischen Unix-Timestamps und SQL-Timestamps :D

    Beitrag zuletzt geändert: 2.6.2013 15:40:34 von fabo
  10. Bei Unix timestamp format (1370205900):

    SELECT DATE_SUB(FROM_UNIXTIME(added_unixtimestamp), INTERVAL 12 HOUR) 
    AS `date`  FROM `mainmenu_links` LIMIT 0, 30


    Ausgabe:
    "2013-06-02 10:45:00"

    Formatieren des Unix timestamp:

    SELECT DATE_FORMAT(DATE_SUB(FROM_UNIXTIME(added_unixtimestamp), INTERVAL 12 HOUR), '%d.%m.%Y - %H:%i') 
    AS `date`  FROM `mainmenu_links` LIMIT 0, 30


    Ausgabe:
    "02.06.2013 - 10:45"

    Bei normalen timestamp format (2013-06-02 11:33:47)

    SELECT DATE_FORMAT(DATE_SUB(added_timestamp, INTERVAL 12 HOUR), '%d.%m.%Y - %H:%i') 
    AS `date`  FROM `mainmenu_links` LIMIT 0, 30



    mit 'DATE_FORMAT' kannst du dir den result auch entsprechend formatieren

    '%d.%m.%Y - %H:%i'


    Beitrag zuletzt geändert: 2.6.2013 16:24:04 von n0tiert
  11. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Okay, danke für eure Antworten!

    Habe mein Problem gelöst .
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!