php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
täglich ein Zufallslink


 
PictureArtist
04-02-2003, 19:19 
 
Hallo,

In dem folgenden Code wird bei jedem Aufruf ein zufälliger Link aus einer Datenbank gelesen. Könnt ihr mir vielleicht einen Tipp geben, wie ich den Code umbauen muss, damit nur einmal täglich ein zufälliger Link ausgelesen wird. Also jeden Tag einen anderen.


$result = mysql_query("select * from ".$prefix."_amazon_links");
$numrows = mysql_num_rows($result);
if ($numrows>1) {
$numrows = $numrows-1;
mt_srand((double)microtime()*1000000);
$bannum = mt_rand(0, $numrows);
} else {
$bannum = 0;
}

$result = sql_query("select lid, title, url from $prefix"._links." order by date DESC limit $bannum,1", $dbi);
while(list($lid, $title, $url) = sql_fetch_row($result, $dbi)) {
$content .= "<a href=\"$url\">Link</a></center>\n";
}


Gruß

Jirka

____________________________________________________________
Online-Magazin für Fotografie und digital Imaging: www.fotopunkt.de

 
MelloPie
04-02-2003, 19:27 
 
select lid, title, url from ".$prefix."_links order by rand() LIMIT 1

 
Realmaker
04-02-2003, 19:29 
 
$content .= "<a href=\"" . $url . "\">Link</a></center>\n";

 
PictureArtist
04-02-2003, 19:38 
 
Hallo MelloPie,


Dank, das Script ist jetzt um einiges kleiner geworden. Nur leider wird auch hier bei jedem Aufruf ein neuer Link aus der Datenbank ausgelesen. Ich wollte aber, das nur einmal am Tag (am besten um 00:00 Uhr) ein zufälliger Link aus der Datenbank ausgelesen wird.

Gruß

Jirka

____________________________________________________________
Online-Magazin für Fotografie und digital Imaging: www.fotopunkt.de

 
wahsaga
04-02-2003, 21:52 
 
Nur leider wird auch hier bei jedem Aufruf ein neuer Link aus der Datenbank ausgelesen. Ich wollte aber, das nur einmal am Tag (am besten um 00:00 Uhr) ein zufälliger Link aus der Datenbank ausgelesen wird.
das ist ja auch nur natürlich.
neue zufallszahl, neuer link...


so wie du es haben möchtest, musst du halt nur ein mal einen zufälligen link auswählen, und dir diesen dann irgendwie merken - z.b., in dem du ihn in eine text-datei schreibst, und dann einfach von dort aus immer includest (brauchst dann auch nur noch eine db-abfrage pro tag, anstatt bei jedem seitenaufruf eine - der server freut sich).

das jeweils um null uhr ein neuer link ausgewählt wird, ist der etwas kompliziertere teil.

wenn du cronjobs zur verfügung hast, könntest du das script jeden tag um 0 uhr darüber aufrufen.

andernfalls musst du es halt in deine eigentliche seite einbauen, und dann jeweils vom ersten besucher der am tag kommt quasi 'huckepack' ausführen lassen.

also, eine textdatei, wo das datum drinsteht, wann zum letzten mal ein neuer link ausgewählt wurde.
ist das datum kleiner als das vom aktuellen tag, dann wählst du einen neuen link aus, und schreibst diesen in eine zweite textdatei, in die andere kommt dann wieder das aktuelle datum.
bei allen weiteren besuchern an diesem tag wird die auswahl dann nicht mehr ausgeführt, weil ja schon das aktuelle datum in der ersten datei steht.


na ja, so oder ähnlich, sollte als erster denkansatz wohl reichen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:54 Uhr.