Seite 1 von 2

10 oder mehr Avatare von Mitgliedern per Zufall anzeigen

Verfasst: 11.03.2008 16:22
von Matze89
:-) Hallo an euch mal wieder!

Mal wieder bin ich was am suchen.. und hoffe, dass mir da jemand helfen kann. Ich suche eine Möglichkeit... auf der Indexseite 10 Mitglieder oder auch mehr per Zufall anzuzeigen...

Es sollte auch nur die Leute rausfiltern, die einen Avatar besitzen + den Username anzeigen...


Hätte da jemand sowas? :-) Vielen dank im vorraus!

Gruß Matze

Verfasst: 13.03.2008 11:15
von issjut
meinst du so wie auf meiner Startseite??

www.TalkBerlin.de

Verfasst: 13.03.2008 15:57
von Matze89
ja genau sowas suche ich ;-)

Verfasst: 13.03.2008 16:49
von issjut
ok... musst dich aber bis morgen gedulden... sollte kein Problem sein

Kannst ja schon mal genau schreiben wie viele User angezeigt werden sollen und wie es in etwa aussehen soll (anordnung usw...)

Schreib so viel Du kannst^^

Bis morgen!

Verfasst: 13.03.2008 19:33
von Matze89
ui das ist ja nett :-) Vielen herzlichen dank!

Ja also 10 würden ja langen. Es sollte für die Startseite (index.php) einsehbar sein. Die verteilung wie bei dir eigentlich. Nebeneinander... und es sollte nur die Leute mit einem Avatar aufrufen (wenns kein Problem is) *gg*

Hoffe ich mach damit nich allzuviel arbeit. Vielen dank wie schon gesagt im vorraus.

Gruß Matze

Verfasst: 13.03.2008 19:55
von Dawn
Ich hätte auch Interesse daran :) wäre also super, wenn du das hier reinstellen könntest.

Verfasst: 14.03.2008 09:04
von issjut
Nein macht keine Umstände! So oft wie mir hier schon geholfen wurde... helfe ich doch gerne...

Im übrigen gebührt der gesamte Dank "Lefty74", von dem ich dieses kleine snippet habe!

Ich kann hier aber leider nicht testen, weil ich hier kein laufendes Board zur Verfügung habe.

Ein wenig Kenntnis Eurerseits ist also vorausgesetzt ;-)

Also dieser code muss auf die php seite auf der das ganze angezeigt werden soll. z.b. index.php:

Code: Alles auswählen

			// get the 10 random users and their avatars
			$sql = 'SELECT user_id, username, user_colour, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height 
				FROM ' . USERS_TABLE . "
				WHERE user_type <> 2
				AND user_avatar <> ''
				AND user_inactive_time = 0 
				ORDER BY RAND() LIMIT 10";
			$result = $db->sql_query($sql);

			while ($row = $db->sql_fetchrow($result))
			{
				$last_avatar_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']);
				$last_avatar = '<a href="' . $last_avatar_url . '">' . get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) . '</a>';
				
				// Assign index specific vars
				$template->assign_block_vars('random_members', array(
					'RANDOM_USERNAME'	=> get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
					'RANDOM_AVATAR'	=> $last_avatar,
				));
			}
			$db->sql_freeresult($result);
kurz eine Kleine Erläuterung zur Query:

Code: Alles auswählen

AND user_avatar <> ''
Hier wird festgelegt, dass nur User mit Avataren angezeigt werden.
Wenn Ihr alle User (also auch die ohne Avatar) angezeigt haben wollt, dann diese Zeile löschen.
Wenn Ihr für Eure User ein Default Avatar nutzt, dann muss zwischen die '' der Dateiname des Default Avatar... also z.b.
AND user_avatar <> 'g2_1192232991.jpg'

Code: Alles auswählen

ORDER BY RAND() LIMIT 10";
die 10 hier steht für die Anzahl der User die angezeigt werden soll--- also ggf. abändern.

So nun noch zur template datei:
für die Index.php wäre das z.b. die index_body.html

an die Stelle wo die user angezeigt werden sollen muss diese Code:

Code: Alles auswählen

<!-- BEGIN random_members -->
			        <td>
				  	  <table border="0" width="120">
				        <tr align="center" height="65" >
						  <td width="120" height="100" >{random_members.RANDOM_AVATAR}
						  </td>
						</tr>
						<tr align="center" valign="bottom">
					  	  <td>{random_members.RANDOM_USERNAME}
					  	  </td>
						</tr>
				  	  </table>
					</td>
				  <!-- END random_members -->
Mit den width und height -Werten müsst Ihr etwas rumspielen. Richtet sich ja nach der Größe der Avatargröße die Ihr für Euer Board eingestellt habt.

Soooo... ich hoffe das reicht erstmal um es zum "laufen" zu bekommen.

Stehe gerne für Fragen zur Verfügung.

Verfasst: 14.03.2008 15:18
von Berliner Schildkroete
Danke!
funktioniert wunderbar! :grin:

Wichtig geht aber nur wenn, die functions_display in der php-Datei includiert wird:

Code: Alles auswählen

include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
also ggf. einfach reinschreiben. :wink:

Verfasst: 14.03.2008 19:54
von issjut
Berliner Schildkroete hat geschrieben: Wichtig geht aber nur wenn, die functions_display in der php-Datei includiert wird
Stimmt! Vielen Dank Herr Schildkroete ;-)

Verfasst: 17.03.2008 02:55
von bigdaddy001
ich verwende style prosilver

funktioniert sehr gut ! allerdings werden die bilder untereinander statt nebeneinander angezeigt, wie kann ich das ändern?

Danke !