- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 24-05-2005, 13:45
teriax
 Newbie
Links : Onlinestatus : teriax ist offline
Registriert seit: Jan 2003
Ort: Tal der Wupper
Beiträge: 38
teriax ist zur Zeit noch ein unbeschriebenes Blatt
Standard Einträge nach und nach einblenden - wechsel nach x Stunden - Wie?

Hallo zusammen!

Ich möchte mir ein kleines PHP-Tool basteln bei dem nach und nach die Einträge aus einer MySQL-Datenbank ausgelesen und angezeigt werden.
Es soll dabei keine Liste der Einträge gezeigt werden, sondern jeder Eintrag soll einzeln gezeigt werden, nach x Stunden soll dann der nächste Eintrag gezeigt werden.

Sagen wir als Beispiel 10 Einträge mit einem wechsel nach 4 Stunden.
Wenn nun alle Einträge angezeigt werden, wenn also 40 Stunden vergangen sind, soll wieder der erste Eintrag gezeigt werden.

Hat vielleicht einer von Euch einen Tip, oder einen Code ;-) für mich ? Irgendwie stehe ich nämlich auf dem Schlauch!
Mit Zitat antworten
  #2 (permalink)  
Alt 24-05-2005, 13:48
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

machst du cronjob...

php selbst ist nur "one shot" code...
Mit Zitat antworten
  #3 (permalink)  
Alt 24-05-2005, 13:51
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von ankh
machst du cronjob...
nö, braucht er m.E. nicht.

wenn ich das richtig verstanden habe, will er nur so etwas analoges wie eine tageszeitabhängige begrüßung o.ä. realisieren.

es braucht also lediglich eine formel, um x elemente gleichmäßig über einen zeitraum von y stunden zu verteilen.

da würde ich vermutlich einfach den timestamp modulo durch (anzahl sekunden in y stunden) teilen - und dann schauen, in welchem "interval" der divisionsrest liegt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 24-05-2005, 13:52
teriax
 Newbie
Links : Onlinestatus : teriax ist offline
Registriert seit: Jan 2003
Ort: Tal der Wupper
Beiträge: 38
teriax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für den Tip, aber im Grunde sollte es ohne Cronjob realisiert werden!
Auch mit Cronjob hätte ich noch das Problem der Abfrage der Einträge, und der Auswahl des zu zeigenden Eintrags.

Ich glaube ich denke einfach viel zu kompliziert!
Mit Zitat antworten
  #5 (permalink)  
Alt 24-05-2005, 13:53
prego
 PHP Senior
Links : Onlinestatus : prego ist offline
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
prego ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,


nimm ein neues Feld DateTime in deine Datenbank mit auf - "firstshown" oder so. Prüf dann einfach bei jedem Aufruf, oder das Ding schon älter als vier stunden ist.

SELECT * FROM tab WHERE (unix_timestamp(firstshown)+(4*3600)) < now() ORDER BY firstshown DESC LIMIT 0,1

Wenn dann hier 0 results sind:

SELECT * FROM tab ORDER BY firstshown LIMIT 0,1

um den ältesten eintrag zu finden.
danach dann direkt

UPDATE tab SET firstshown = now() WHERE id=<deine id>

So irgendwie.
__________________
so long, der-p | 72dpi-club

Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
Mit Zitat antworten
  #6 (permalink)  
Alt 24-05-2005, 13:54
teriax
 Newbie
Links : Onlinestatus : teriax ist offline
Registriert seit: Jan 2003
Ort: Tal der Wupper
Beiträge: 38
teriax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von wahsaga
nö, braucht er m.E. nicht.

wenn ich das richtig verstanden habe, will er nur so etwas analoges wie eine tageszeitabhängige begrüßung o.ä. realisieren.

es braucht also lediglich eine formel, um x elemente gleichmäßig über einen zeitraum von y stunden zu verteilen.

da würde ich vermutlich einfach den timestamp modulo durch (anzahl sekunden in y stunden) teilen - und dann schauen, in welchem "interval" der divisionsrest liegt.
sowas in die Richtung, nur das meine "Tage" mehr als 24 Stunden haben ;-)
Wenn es nach der Zeit gehen würde, wäre es kein Problem, aber bei mehr als 24 Stunden komme ich ins stocken :-(
Mit Zitat antworten
  #7 (permalink)  
Alt 24-05-2005, 14:05
teriax
 Newbie
Links : Onlinestatus : teriax ist offline
Registriert seit: Jan 2003
Ort: Tal der Wupper
Beiträge: 38
teriax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von prego
[B]nimm ein neues Feld DateTime in deine Datenbank mit auf - "firstshown" oder so. Prüf dann einfach bei jedem Aufruf, oder das Ding schon älter als vier stunden ist.
Nunja, darauf könnte ich irgendwie aufbauen, aber wenn ich nun für jeden Eintrag die Laufzeit angeben möchte?
mal 3 Stunden, mal 4 Stunden, mal 5 Stunden....
Dann sieht es wieder anders aus!

Ausserdem müsste ich doch auch die Erstellungs-Zeit speichern, oder nicht?! Irgenwie muss das Programm doch wissen welcher Eintrag als erstes eingeblendet werden soll!
...oder kann man da vielleicht noch (einfach) eine Rehenfolge festlegen?
Mit Zitat antworten
  #8 (permalink)  
Alt 24-05-2005, 14:05
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.746
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nimm irgendwas (DB, Text-Datei, ...) um 2 Einträge zu speichern:

- Datensatz-ID: Nummer
- angezeigt: DateTime-Wert

bei jedem Request prüfst du, ob 4 Stunden schon vergangen ist, wenn ja, dann aktuelle Zeit und neues DS-ID rein schreiben und natürlich den DS auch anzeigen. Das war's.
Mit Zitat antworten
  #9 (permalink)  
Alt 24-05-2005, 14:09
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.746
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von teriax
Nunja, darauf könnte ich irgendwie aufbauen, aber wenn ich nun für jeden Eintrag die Laufzeit angeben möchte?
mal 3 Stunden, mal 4 Stunden, mal 5 Stunden....
Dann sieht es wieder anders aus!
Diese Info mußt du am DS selbst (also in der DB) festlegen
Zitat:
Ausserdem müsste ich doch auch die Erstellungs-Zeit speichern, oder nicht?! Irgenwie muss das Programm doch wissen welcher Eintrag als erstes eingeblendet werden soll!
...oder kann man da vielleicht noch (einfach) eine Rehenfolge festlegen?
die Sortierung kannst du z.B. mit order by ... in der Abfrage gestalten.
Mit Zitat antworten
  #10 (permalink)  
Alt 24-05-2005, 14:13
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von teriax
sowas in die Richtung, nur das meine "Tage" mehr als 24 Stunden haben ;-)
Wenn es nach der Zeit gehen würde, wäre es kein Problem, aber bei mehr als 24 Stunden komme ich ins stocken :-(
was hat der unix timestamp mit "tagen" zu tun?
gar nichts.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 24-05-2005, 14:15
teriax
 Newbie
Links : Onlinestatus : teriax ist offline
Registriert seit: Jan 2003
Ort: Tal der Wupper
Beiträge: 38
teriax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
nimm irgendwas (DB, Text-Datei, ...) um 2 Einträge zu speichern:

- Datensatz-ID: Nummer
- angezeigt: DateTime-Wert

bei jedem Request prüfst du, ob 4 Stunden schon vergangen ist, wenn ja, dann aktuelle Zeit und neues DS-ID rein schreiben und natürlich den DS auch anzeigen. Das war's.
na Klar!

Einfach Textdatei "dazwischen" schieben, der Rest ergibt sich ja fast von selbst wenn das Erstellungsdatum mit in der DB gespeichert ist!

Thx!

PS: Irgendwie fehlt mir der Smilie der seinen Kopf gegen die Wand schlägt hier im Forum ;-)
Mit Zitat antworten
  #12 (permalink)  
Alt 24-05-2005, 14:19
teriax
 Newbie
Links : Onlinestatus : teriax ist offline
Registriert seit: Jan 2003
Ort: Tal der Wupper
Beiträge: 38
teriax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von wahsaga
was hat der unix timestamp mit "tagen" zu tun?
gar nichts.
Hast ja recht... Hatte mich irgendwie verlesen...
jetzt ergibts einen Sinn ;-)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:48 Uhr.