Thomas Rupp: Wie programmiere ich einen "Tipp des Tages"?

An alle SpezialistInnen auf diesem wiedererwachten Forum!

Kann mir jemand von Euch einen Tipp/Hinweis geben, wie ich einen "Tipp des Tages" programmieren kann, der aber pro Tag wirklich immer das selbe Ergebnis bringt?
Derzeit verwende ich die M$ Content Rotator Componente, die aber bei jedem Aufruf einen neuen Inhalt bringt :-(
Fein wäre es, wenn dies möglichst einfach ginge (z.B. ohne Datenbank), damit ich den bestehenden flachen File weiterverwenden kann.
Kann auch eine M$ spezifische Lösung sein, da dies nur im Intranet mit IE 5.0 oder IE 5.5 funktionieren muß.

Schöne Grüße vom Bodensee
Thomas

  1. Kann mir jemand von Euch einen Tipp/Hinweis geben, wie ich einen "Tipp des Tages" programmieren kann, der aber pro Tag wirklich immer das selbe Ergebnis bringt?

    hm.. sowas geht wohl an einfachsten Serverseitig über PHP.. z.B. wenn sich die tipps monatlich wiederholen einfach die Zeilennummer für den Tag verwenden (ich bin kein PHP-Guru..)

    Kann auch eine M$ spezifische Lösung sein, da dies nur im Intranet mit IE 5.0 oder IE 5.5 funktionieren muß.

    wäre es damit noch nicht einmal.

  2. Hallo;

    "Kann mir jemand von Euch einen Tipp/Hinweis geben, wie ich einen "Tipp des Tages" programmieren kann, der aber pro Tag wirklich immer das selbe Ergebnis bringt?"

    Pro "Wochentag"?

    ich würds mit PERL machen,
    1. eine Datei (Flatfile) wo steht
    montag;tip für montag
    dienstag;tip für dienstag
    usw.

    2. Script ermittelt den Tag, liest o.g. File auf einen hash und gibt (mit dem Tag als Key) den Value aus.

    Viele Grüße, Rolf

    PS: 1. könnte auch unterhalb __END__ im Script stehen, darauf zugreifen geht über den Handler DATA, das erspart eine zusätzliche Datei...

  3. Hi,
    genaugenommen geht es darum, aus einer Datei mit einer unbekannten Anzahl von Einträgen (z.B. 5.000) einen auszuwählen. Die Auswahl soll während eines Tages (00:00 - 24:00) immer zum selben Eintrag führen.
    In der Programmiersprache REXX (kennt die jemand?) gibts die Möglichkeit mit der Funktion RANDOM eine Zufallszahl zu generieren. Dieser Funktion kann ein Wert (dort SEED genannt) mitgegeben werden (in diesem Fall das Tagesdatum) was - solange unverändert - immer zum selben Pseudozufallswert führt.

    Ich hätte gedacht, dass irgendjemand die Funktion eines echten "Tipp des Tages" bereits programmiert hat oder sonstwie bereits eine fertige Lösung existiert.

    Oder liege ich da tatsächlich falsch?

    Schöne Grüße
    Thomas

    1. Hallo Thomas

      In der Programmiersprache REXX (kennt die jemand?) gibts die Möglichkeit mit der Funktion RANDOM eine Zufallszahl zu generieren. Dieser Funktion kann ein Wert (dort SEED genannt) mitgegeben werden (in diesem Fall das Tagesdatum) was - solange unverändert - immer zum selben Pseudozufallswert führt.

      das geht auch in php mit der Funktion mt_srand http://www.php-center.de/de-html-manual/function.mt-srand.html
      du mußt die dann jeweils jeden Tag mit dem Startwert tagesdatum 0:00 Uhr in Mikrosekunden aufrufen.

      Mit JS im IE geht es über den Umweg der dynamischen Datenanbindung auch siehe http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm. Hier mußt du deinen "Zufall" eben auch vom Tagesdatum 0:00 Uhr in Sekunden abhängig machen.

      Viele Grüße

      Antje

      1. Hallo Antje,

        » Mit JS im IE geht es über den Umweg der dynamischen Datenanbindung auch siehe [link: http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm
        » Viele Grüße
        » Antje

        Danke für Deinen Tip(p) - das sieht ja schon sehr, sehr gut aus! Ich habe fast vermutet, dass es im SELFHTML ein Kapitel zu diesem Thema geben muß - aber mit den von mir gewählten Stichworten konnte ich nichts finden

        Schöne Grüße
        Thomas

  4. An alle SpezialistInnen auf diesem wiedererwachten Forum!

    Kann mir jemand von Euch einen Tipp/Hinweis geben, wie ich einen "Tipp des Tages" programmieren kann, der aber pro Tag wirklich immer das selbe Ergebnis bringt?
    Derzeit verwende ich die M$ Content Rotator Componente, die aber bei jedem Aufruf einen neuen Inhalt bringt :-(
    Fein wäre es, wenn dies möglichst einfach ginge (z.B. ohne Datenbank), damit ich den bestehenden flachen File weiterverwenden kann.
    Kann auch eine M$ spezifische Lösung sein, da dies nur im Intranet mit IE 5.0 oder IE 5.5 funktionieren muß.

    Schöne Grüße vom Bodensee
    Thomas

    Hi Thomas,
    ich galaube das ist auch mit JavaScript möglich, und zwar folgendermaßen:

    Du speicherst die Tips in einem Array ab, am besten 30 für jeden Tag im Monat.
    Aus dem Datum holst du den Tag heraus, also 1. für den ersten, 2. für den zweiten Tag des Monats und setzst diesen in dein Array ein, am ersten zeigt er dir dan Tip[1], am zweiten Tip[2]. Wenn du für mehrere Monat vorprogammierst, dann kannst du mehrdimensionale Arrays verwenden:

    Tip[Monatszahl][Jahreszahl]

    dies glaube ich aber nicht.

    Ein Nachteil gegenüber einem, z. B. Perl-Script, der die HTML-Datei einfach neu schreibt, dass die "JS-Datenbank" immer wieder neu geladen wird und dein Quellcode ist für alle zugänglich.

    Vielleicht habe ich auch einfach nicht verstanden, was ein Tagestip ist. Habe das Wort zum ersten Mal gehört.

    Ich hoffe geholfen zu haben.

    MfG Dmitri Rettig

  5. Hallo Thomas,

    <offtopic>
    Erst mal an Stefan, das "Developerteam", und alle anderen Beteiligten herzliche Glückwünsche zum Start von Selfhtml80 und dem eigenen Server. Beides ist euch wirklich gut gelungen. :)
    </offtopic>

    Kann mir jemand von Euch einen Tipp/Hinweis geben, wie ich einen "Tipp des Tages" programmieren kann, der aber pro Tag wirklich immer das selbe Ergebnis bringt?
    Derzeit verwende ich die M$ Content Rotator Componente, die aber bei jedem Aufruf einen neuen Inhalt bringt :-(
    Fein wäre es, wenn dies möglichst einfach ginge (z.B. ohne Datenbank), damit ich den bestehenden flachen File weiterverwenden kann.
    Kann auch eine M$ spezifische Lösung sein, da dies nur im Intranet mit IE 5.0 oder IE 5.5 funktionieren muß.

    Schau mal unter http://www.dynamic-web-development.de/pub/perl/scripts/. Dort findest Du ein soches Skript (citeOday) als Perl/CGI-Programm, das aus einer Textdatei Datensätze (Tipps, Zitate) liest, deren Felder durch Tabs getrennt sind.
    In der Konfiguration kann man die Mindest-Dauer zwischen den Tippwechseln einstellen. Das ist auch gleich der Nachteil. Das Skript wechselt beim nächsten Zugriff nach Ablauf der eingestellten Zeit. Das kann unter Umständen auch mehr als ein Tag sein. Dem User dürfte das aber imho nicht auffallen.

    Gruß Alex

    1. Hi Alex,

      das Skript trifft genau mein "Problem"!
      Habe ich mir doch gedacht, daß einer von Euch "Gurus" da was in petto hat :-)

      Danke und schönes WE
      Thomas

      1. Hallo Thomas,

        das Skript trifft genau mein "Problem"!

        Ich hoffe Du hast auch die aktuelleste Version erwischt, die ich gestern hochgeladen habe.
        In der letzten Version, die auch schon zweimal runtergeladen wurde, hatte sich durch eine klitzekleine
        Änderung ein Bug eingeschlichen, der zu einem Compilierfehler geführt hat. Den habe ich mittlerweile behoben
        und noch einige Verbesserungen eingebaut.

        Habe ich mir doch gedacht, daß einer von Euch "Gurus" da was in petto hat :-)

        "In petto" ja, aber "Guru"? Der Schuh ist mir imho noch ein paar Nummern zu groß. :)

        Gruß Alex