php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.08.2004, 19:30  
Gast
 
Beiträge: n/a
Standard Text aus Datenbank mit Zeitvorgabe auf php-Seite automatisch

Hallo,
ich möchte einen Text aus meiner Datenbank (ca. 10 Texte enthalten)
auf Zeit auf meiner PHP-Seite integrieren.

Soll folgendermaßen funktionieren:

- Datenbank hat 10 Texte (id 1-10)
- 1 PHP - Seite

Diese PHP-Seite hat verschiedene Bereiche (Tabellen),
die meine Homepage einteilen.
In einer Zelle soll nun jeden Tag ein Text aus der Datenbank stehen,
der sich selbst auswechselt. Das Ganze soll aber in Reihenfolge geschehen (id1, id2, id3, usw.), und nicht wie ein Zufall
(id3, id1, id4, usw.) funktionieren.

1. Wie mach ich sowas ?
2. Ist das mit PHP zu machen, oder nur mit Java Script ?

DANKE.
Chris.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.08.2004, 20:26  
Gast
 
Beiträge: n/a
Standard

hm, naklar geht das mit PHP, moment, lass mich mal tüffteln...

erstmal holst du den aktuellen time-stamp

$now=time();

Dann

$now_tag=(int)($now / (60*60*24));

so, dann hat jeder Tag eine einzigartige Zahl! Nehmen wir mal an 18331.

machste einfach $rest=$now_tag % 10; (wäre in dem Fall 1)

$id_text=$rest;

if ($rest == 0)
{
$id_text=10;
}

und dann nur noch aus der DB auslesen
 
Alt 07.08.2004, 21:04  
Gast
 
Beiträge: n/a
Standard hmmmm :-)

Wenn ich also folgendes angebe:

<?
$now=time();
$now_tag=(int)($now / (60*60*24));
$rest=$now_tag % 10;
$id_text=$rest;
if ($rest == 0)
{
$id_text=10;
}
echo $id_text;
?>


kommt 7 raus.
Das heißt ja dann, das heut der 7 Eintrag (also id7) aus der Datenbank
dran währe.
Aber wie lese ich jetzt die Daten aus ?

Danke für Hilfe.
 
Alt 07.08.2004, 21:28  
Gast
 
Beiträge: n/a
Standard

ganz einfach:

$row=mysql_fetch_assoc(mysql_query("SELECT text FROM datenbank WHERE id='$id_text'"));

echo $text=$row['text'];
 
Alt 07.08.2004, 22:14  
Gast
 
Beiträge: n/a
Standard Ok. Funktioniert auch. Aber...

wenn jetzt die 10 Tage um sind,
fängt er dann wieder mit 1 an, wie er soll ?



Ich will nämlich die 10 Artikel (Texte) schon fertig im Netz haben,
dass diese sich dann von selbst, am Tag X (also jeden Tag) aus der Datenbank aktuallisieren.
Funktioniert ja mit obiger Antwort anscheinend.
Nur während jetzt z.B.: Tag 3 um ist, möchte ich ja schon wieder
die Texte 1 und 2 ändern, so dass diese dann nach den
10 Tagen wieder mit ip1 und ip2 aufgerufen werden können.

Geht dass ?
Danke.
 
Alt 07.08.2004, 22:17  
Gast
 
Beiträge: n/a
Standard

nehmen wir an wir haben Tag 3.
Willst du dann "von Hand" die Texte 1 und 2 ändern?! Wenn ja, kein Problem! Wenn der Tag 1 wieder kommt, nimmt er dann den Text, den du zuletzt eingefügt hast!

Meintest du das so?!
 
Alt 07.08.2004, 22:37  
Gast
 
Beiträge: n/a
Standard jepp.

Ich gehe von 10 Tagen aus, und benötige dafür 10 Texte.
Diese sind dann schon in der Datenbank gespeichert.

Diese 10 Tage gelten für mich nur als Polster,
wenn ich nicht immer jeden Tag Zeit hab,
neue Texte ins Netz zu stellen.

Wie genau funktioniert eigentlich dieses php-skript von dir ?
Ich versteh diese Funktion mit der Zeit garnicht.
Was ich verstehe ist:

$now=time();
BEDEUTET: Die jetzt Zeit.
$now_tag=(int)($now / (60*60*24));
BEDEUTET: int steht für Die jetzt Zeit soll duch 24Std.60Min.60Sek.
geteilt werden.

$rest=$now_tag % 10;
BEDEUTET: Der Variablen $rest wird $now_tag zugeordnet.
Aber die 10% sind mir spanisch. Vielleicht ist ein 10´tel der Zeit

$id_text=$rest;
BEDEUTET: Der Variablen $id_text wird die Variable $rest zugeordnet.
if ($rest == 0)
BEDEUTET: Wenn die Zahl der Variablen $rest = 0 / nur wo ist die dann Funktion? Gibst da kein if.....than.....
{
$id_text=10;
BEDEUTET:
}

Wenn du Lust hast, kannst du mir das Schrittweise erklären ?

Und was bedeutet eigentlich immer diese {} Klammern ?
Danke.
 
Alt 08.08.2004, 07:39  
Gast
 
Beiträge: n/a
Standard

so, dann fange ich mal an:

mit dem $now=time(); machst du einen sogenannten time-stamp. Das ist das mit dem 1970, wo ich dir erklärt habe! Also alle Sekunden...
Damit du aber die aktuelle ID des Tages rausbekommst, machst du die Zahl einfach erst durch 60 (aktuelle Minute), dann nochmal durch 60 (aktuelle Stunde) und nochmal durch 24 (aktueller Tag).

So, jetzt bekommst du irgendeine Zahl raus, nehmen wir an 18332.

Wenn du jetzt schreibst

$rest=$now_tag % 10;

dann heißt das, du teilst den Betrag $now_tag durch 10 und gibst davon den Rest wieder, also in dem Fall 2.

Dieses If baust du ein, weil wenn es zB. der 18340. Tag ist, dann wird ja laut Skript der Text mit der ID 0 aufgerufen, es geht aber ja nur von 1-10.

Also du hast dann eine Bedingung eingebaut

if (Wenn was so ist...)
{
...dann...
}

Mit den {} sagst du nur, wo die Bedingung aufhört, bzw anfängt!


Haste noch Fragen?!
 
Alt 08.08.2004, 19:55  
Gast
 
Beiträge: n/a
Standard Ja, hab da noch was. :-)

Um wieviel Uhr ändert sich denn der Text auf meiner Seite ?
Es sollte ja pünktlich am nächsten Tag (also Beginn: 1 Uhr Nachts), wenn jemand meine Seite besucht,
geändert sein.

 
Alt 08.08.2004, 20:24  
Gast
 
Beiträge: n/a
Standard Mir ist aber gerade was aufgefallen.

Die Zeit jetzt: 12638,76424
erbibt ja für den heutigen Tag
76424 Sekunden = 21,22h
Das heisst ja, dass es jetzt 21h22min ist.
Stimmt aber nicht mit der tatsächlichen Zeit überein,
da es jetzt 20:22 ist.
Da ist 1 Stunde zu viel.

Wie kommt dass ?
Müsste ich dass nicht, wenn ich die genaue Zeit zum Textwechsel
angeben möchte, in der Berechnung berücksichtigen, und 1
Stunde abziehen ?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
[Erledigt] Wetten automatisch von anderer Seite beziehen PHP Tipps 2006 11 03.03.2006 09:09
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
Datenbank will Text nicht aufnehmen PHP Tipps 2005-2 12 26.10.2005 10:07
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
Text aus Datenbank ... PHP Tipps 2005-2 4 18.07.2005 11:31
[Erledigt] durch Klick auf Text anderen Text einblenden HTML, Usability und Barrierefreiheit 3 03.07.2005 14:41
[Erledigt] Neue Seite automatisch aufrufen ???? PHP-Fortgeschrittene 3 06.11.2004 16:33
text kürzen- seite 123 PHP Tipps 2004 2 19.09.2004 12:19
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42
Seite Automatisch Aktualisieren PHP Tipps 2004 5 18.08.2004 00:29
Datenbank Ausgabe auf mehrere Seite verteilen PHP Tipps 2004 8 01.08.2004 17:51
[Erledigt] PHP Eine neue PHP seite automatisch öffnen PHP Tipps 2004 1 19.06.2004 12:40
[Erledigt] Automatisch zu einer andere Seite wechseln PHP Tipps 2004 8 17.06.2004 15:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
automatischer textwechsel von texten auf homepage, automatischer textwechsel php, textwechsel php, automatischer textwechsel html, zeitvorgabe, täglich textwechsel java, automatischer textaustausch script, php neuen datenbankeintrag automatisch anzeigen, textwechsel in homepage, time php jeden tag exakte zeit, automatischer textwechsel mit php, php automatischer textwechsel, zeitvorgaben polstern, automatischer textwechsel auf website

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.