Seite 1 von 2

Zufallstopic

Verfasst: 11.10.2005 09:09
von fanrpg
Abgetrennt von http://www.phpbb.de/viewtopic.php?t=35196
Hier könnt ihr euch jetzt weiter austoben :wink:
Markus


Pyramide hat geschrieben:
Markus67 hat geschrieben:wie findet man sowas ? :wink:
Das würde mich auch mal brennend interessieren. Haben wir hier einen Link "Springe zu einem zufälligen Thema"? :wink:
Pyramide du bist genial :D
Sowas braucht die Welt *was bastel*

EDIT: Hier wenns interessiert

Als Moddatei: http://www.fanrpg.com/download.php?dl=z ... ic_100.txt

Das zweite mal aktualisiert 8)

Verfasst: 11.10.2005 09:59
von Valerie Raghnall
das ist ja mal ein netter mod :)

hmmm... würd mich jetzt glatt interessieren wo die werbung für das heidenforum abgeblieben ist. ;-)

aber um zum thema auch was zu sagen *g*

ich bin... hmmm... religionslose gläubige. ich glaube dass etwas existiert... (allein schon der bequemlichkeit halber, mich nicht dauernd zu fragen woher der verdammte urknall kam ;-))... aber ich schließe mich nicht einer gruppierung an, schon gar nicht einer gruppierung deren vertreter zuvor groß und laut predigt, dass die firmung die entscheidung eines jeden selbst ist, christ zu sein und sie mir dann verweigert nur weil ich 2x nicht in der kirche war... nene ;-)

aber grade im bereich religion soll imho jeder denken und leben wie er will... solang er damit keinem anderen die freiheit nimmt oder ihn sonst irgendwie einschränkt oder verletzt. eigentlich also das grundprinzip der guten alten wicca...

"tu was du willst, solang du niemandem schadest"

in diesem sinne *den mod beguck und überleg ob es jemandem schaden würde, wenn ich ihn benutz*


*hust*

wobei...

Code: Alles auswählen

öffne includes/overall_header.tpl 
wohl eher

Code: Alles auswählen

öffne includes/page_header.php
heißen müsste... oder?

Verfasst: 11.10.2005 10:05
von fanrpg
Valerie Raghnall hat geschrieben:in diesem sinne *den mod beguck und überleg ob es jemandem schaden würde, wenn ich ihn benutz*


*hust*

wobei...

Code: Alles auswählen

öffne includes/overall_header.tpl 
wohl eher

Code: Alles auswählen

öffne includes/page_header.php
heißen müsste... oder?
Ja hast recht page_header.php :wink:

Verfasst: 11.10.2005 10:15
von mad-manne
Jetzt geht's hier aber heftig OFF-Topic ...
evtl. kann ja ein Moderator dieses MOD abspalten?

Anyway die ZUfallsabfrage kannst du viel eleganter lösen, denn so wie's jetzt ist, muss die DB die komplette Menge der topic_id's liefern. Das kann je nach Boardgrösse, ganz schön viel sein.

Also hier mein Vorschlag :wink:

Code: Alles auswählen

$sql_topic = "SELECT `topic_id` FROM ".TOPICS_TABLE." ORDER BY RAND() LIMIT 1";
$result_topic = $db->sql_query($sql_topic);
$row_topic = $db->sql_fetchrow($result_topic);
$rand_topic = $row_topic['topic_id'];
$u_rand_topic = append_sid("viewtopic.".$phpEx."?t=".$rand_topic."");
So wird wirklich immer nur eine Zufalls-ID zurückgegeben!

So long,
Manne.

Verfasst: 11.10.2005 10:21
von fanrpg
mad-manne hat geschrieben:Jetzt geht's hier aber heftig OFF-Topic ...
evtl. kann ja ein Moderator dieses MOD abspalten?

Anyway die ZUfallsabfrage kannst du viel eleganter lösen, denn so wie's jetzt ist, muss die DB die komplette Menge der topic_id's liefern. Das kann je nach Boardgrösse, ganz schön viel sein.

Also hier mein Vorschlag :wink:

Code: Alles auswählen

$sql_topic = "SELECT `topic_id` FROM ".TOPICS_TABLE." ORDER BY RAND() LIMIT 1";
$result_topic = $db->sql_query($sql_topic);
$row_topic = $db->sql_fetchrow($result_topic);
$rand_topic = $row_topic['topic_id'];
$u_rand_topic = append_sid("viewtopic.".$phpEx."?t=".$rand_topic."");
So wird wirklich immer nur eine Zufalls-ID zurückgegeben!

So long,
Manne.
Kommt das nicht aufs selbe raus?

Da ich in MySQL nicht so bewandert bin mache ich immer alles lieber über PHP, aber es funzt :D

thx, Markus fürs spliten

Verfasst: 11.10.2005 10:26
von mad-manne
fanrpg hat geschrieben:Kommt das nicht aufs selbe raus?
Naja, das ist Ansichtssache ... das Ergebniss bleibt schon das Gleiche, aber der Unterschied liegt in der Datenmenge, die der Datenbankserver "ausliefern" muss!

So wie du es machst, liefert die DB ein Array mit allen topic_id's des Boards zurück. Aus diesem Array suchst du nun einen zufälligen raus!

Bei meiner Version liefert die DB selbst eine zufällige topic_id aus und liefert NUR diese eine zurück.

Wenn du nun ein Board mit >1000 Topics hast macht das bereits eine gewaltigen Unterschied, da diese Abfrage ja sogar bei jedem Boardaufruf durchgeführt wird!

Gruss,
Manne.

Verfasst: 11.10.2005 10:30
von fanrpg
Na ja ich hab jetzt deine Version genommen. Ist glaube ich besser als über PHP.

Verfasst: 11.10.2005 10:41
von mad-manne
um daraus ein echtes MOD zu machen, musst du aber schon noch ein wenig dran feilen ...
"Language-System" einbauen und den Link erst im template "richtig" zusammenbauen nicht in der page_header.php!

Ausserdem ist soweit ich das überflogen habe, die Platzierung im Template an der falschen Stelle, da der Register-Link nur für Gäste autaucht, da er zwischen den user_logged_out-Switches steht!

Happy coding :wink:
Manne.

Verfasst: 11.10.2005 10:44
von fanrpg
mad-manne hat geschrieben:um daraus ein echtes MOD zu machen, musst du aber schon noch ein wenig dran feilen ...
"Language-System" einbauen und den Link erst im template "richtig" zusammenbauen nicht in der page_header.php!

Ausserdem ist soweit ich das überflogen habe, die Platzierung im Template an der falschen Stelle, da der Register-Link nur für Gäste autaucht, da er zwischen den user_logged_out-Switches steht!

Happy coding :wink:
Manne.
Ähm nein, der wird nur für eingeloggt Benutzer angezeigt, so ist des ja auch gedacht

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->
		{U_RANDTOPIC}<br /><a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a>[...]
<!-- END switch_user_logged_in -->
Language mache ich dann jetzt mal schnell

Verfasst: 11.10.2005 14:30
von Fundus
angezeigt schon, was er meinte war aber die berechnung und die findet immer statt (ohne das jetzt genau zu kontrollieren)

wie währe es das in die viewtopic einzusetzen und mit t=shuffle aufzurufen :roll:

EDIT eine abfrage auf AUTH währe evtl vorher hilfreich, bei vielen nicht für jeden ersichtlichen Foren könnte der zufall oft auf "keine Berechtigung" stoßen :wink: