Webdesign in Siegen

Datensätze nur eine Bestimmte Zeit anzeigen

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Datensätze nur eine Bestimmte Zeit anzeigen

Beitragvon =Max= am 31.03.2008, 09:52

Hallo,

und zwar möchte ich ein kleines Script bauen. Leute geben einen Text ein, der eine Zeit lang angezeigt werden soll. Also quasi wie eine Shoutbox. Wie das geht weiß ich, nur weiß ich nicht, wie ich das mache, das der Datensatz nur eine Zeit angezeigt wird.

Ich habe mir das so gedacht: Ich speichere die Zeit in einer Spalte mit der Funktion time() und rufe das Quasi für zwei Stunde Anzeigezeit so ab:

$res = mysql_query("SELECT * FROM shoutbox WHERE time = 'time()-7200' LIMIT 10");

Kann man das so lösen, oder git es bessere Varianten. (bzw: Funktioniert diese Variante überhaupt?)

Lg,

=Max=
=Max=
Mitglied
 
Beiträge: 428
Registriert: 14.01.2007

Re: Datensätze nur eine Bestimmte Zeit anzeigen

Beitragvon Manuel am 31.03.2008, 12:05

Hi Max!

Ich persönlich würde keine Funktionen in den Query schreiben, heißt ich würde vorher $timestamp = time() - 7200; schreiben. Aber sonst müsste das gehen denke ich. Du solltest nur bedenken, dass PHP die Seite nicht automatisch wieder öffnet, heißt wenn jemand 2 Stunden die Seite offen hat ohne sie neu zu laden, wird nichts passieren. Dafür bräuchte man dann JavaScript.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8922
Registriert: 10.12.2004
Wohnort: Asbach

Re: Datensätze nur eine Bestimmte Zeit anzeigen

Beitragvon Basti am 31.03.2008, 16:47

Eine bessere Variante gibt es denke ich nicht, weil das auch die einzig sinnvolle ist.

Anstatt des Gleichheitszeichens solltest du aber ein Größer/Gleich nehmen, da es sonst unwahrscheinlich ist, dass genau der passende Timestamp getroffen wird ;)

Code: Alles auswählen
SELECT * FROM shoutbox WHERE time>='$timestamp' LIMIT 10


Wie Manu schon sagte solltest du den Timestamp aber vorher einer Variable zuweisen, das macht das ganze auch übersichtlicher.
Benutzeravatar
Basti
Moderator
 
Beiträge: 1914
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Datensätze nur eine Bestimmte Zeit anzeigen

Beitragvon =Max= am 31.03.2008, 19:31

Danke schön an euch beide. Hat mir geholfen. Jetzt mach ich das so, das User auswählen können, wie lange das angezeigt werden soll. Da kommen wir gleich zu einem Problem was woanders mal aufgetaucht ist:

Code: Alles auswählen

$gesehen = $valurow['gesehen']; // meistens 1
[...]
echo $gesehen; // hier ist es 1
                         if($gesehen = '1') {
                         $c1 = "checked";
                         $c2 = "";
                         $c3 = "";
                         }
echo $gesehen; // hier auch
                         if($gesehen = '2') {
                         $c1 = "";
                         $c2 = "checked";
                         $c3 = "";
                    }
echo $gesehen; // hier 2
                         if($gesehen = '3') {
                         $c1 = "";
                         $c2 = "";
                         $c3 = "checked";
                         }
echo $gesehen; // hier 3



Warum ist das so?
=Max=
Mitglied
 
Beiträge: 428
Registriert: 14.01.2007


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast