eintrag" vor 12 min"ermitteln

Den UNIX_TIMESTAMP() find ich nirgends. Also vorallem nicht in der Mysql DB

und angezeigt wird der auch nicht.

$zeit = UNIX_TIMESTAMP();
echo $zeit;

Keine ausgabe.
 
meine Herren..
nehm deinen MYSQL Timestamp zb in dem Format: 2009-09-13 02:26:02
speicher den in $timestampAusDatenbank

und dann kopier meinen Code
PHP:
function convert_datetime($str) {

  list($date, $time) = explode(' ', $str);
  list($year, $month, $day) = explode('-', $date);
  list($hour, $minute, $second) = explode(':', $time);

  $timestamp = mktime($hour, $minute, $second, $month, $day, $year);

  return $timestamp;
}

$vergangen = ( (time()-convert_datetime($timestampAusDatenbank)) /60);
Und du wirst sehen, dass alles geht, wenn ich nicht einen Fehler gemacht habe ;)
Versuch da jetzt nicht in deiner MySQL Datenbank rum zu wurschteln..
 
SELECT
FLOOR((UNIX_TIMESTAMP()-UNIX_TIMESTAMP(spalte_mit_mysql_timestamp))/60)
AS vergangene_minuten


Was soll vergangene_minuten für ein Wert stehen ?

den möcht ich doch ermitteln.
 
Was ich habe sind variablen tag, monat, jahr, stunde, sek
und Komplett das ganze Mysql Time in der Datenbank gespeichert.

Was Ich will hab ich ja gesagt.. die vergangen minuten anzeigen wann ein Eintrag geschrieben wurde.
 
Was ist daran verwirrend :eek:

Code:
SELECT 
  FLOOR((UNIX_TIMESTAMP()-UNIX_TIMESTAMP(spalte_mit_mysql_timestamp))/60) 
    AS vergangene_minuten

Bei spalte_mit_mysql_timestamp gibst du den Namen der Spalte in der DB an, die den Zeitstempel enthält.

vergangene_minuten ist der Name der "Spalte", die du mit PHP abfragst....du musst da in PHP nichts mehr berechnen. Diese "Spalte" enthält bereits die gesuchte Differenz.

Ich schreibe extra das "Spalte" in Anführungszeichen, weil diese Spalte nicht in der DB existiert. In PHP kannst du jedoch darauf zugreifen, wie du es mit einer echten Spalte tun würdest.
Mysql kann nicht nur Sachen in einer Datenbank speichern und sie auslesen, sondern es kann auch mit ihnen arbeiten(und das weitaus schneller als PHP)....dies wird hier getan.
Damit man das Ergebnis der Verarbeitung auslesen kann, braucht es einen Namen, und den gibt man dem Ergebnis über das Schlüsselwort AS .


Code:
$sql=mysql_query('SELECT
                    FLOOR((UNIX_TIMESTAMP()-UNIX_TIMESTAMP(spalte_mit_mysql_timestamp))/60) 
                      AS vergangene_minuten FROM tabellenname');

while($result=mysql_fetch_assoc($sql))
{
  echo '<br>Geschrieben vor '.$result['vergangene_minuten']. ' Minuten';
}
Die beiden rot markierten Sachen musst du anpassen, der Rest sollte so funktionsfähig sein.
 
Jetzt müsste er es aber hinbekommen, ansonsten sollte er sich einmal ein paar php und mysql Tutorials anschauen ;)

Ich hau mich nun ins Bett und schau morgen (morgen ist nach dem schlafen :D ) nochmal rein ob's nen Erfolg gab ^^
 

Neue Beiträge

Zurück