Seite 1 von 1

Was ist an diesem Code falsch?

Verfasst: 13.03.2007 21:01
von phillip
hi, ich versuche gerade einen zufälligen User auszugeben.

im Portal.php

Code: Alles auswählen

// zufälliger User

$sql = "SELECT * 
        FROM " . USERS_TABLE . " 
        WHERE user_id <> " . ANONYMOUS . " 
        ORDER BY RAND() LIMIT 1"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
          message_die(GENERAL_ERROR, 'Could not query random user data.', '', __LINE__, __FILE__, $sql); 
        } 


while ( $row = $db->sql_fetchrow($result) ) 
{ 

$randuser = $row['username']; 

$template->assign_block_vars('randuser', array( 
'RAND_USER_NAME' => $randuser
)); 
}
und im portal_body.tpl

Code: Alles auswählen

<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
			<tr>
				<th colspan="5">Zufälliges User</th>
			</tr>
			<tr>
			<td><span class="genmed">
			{randuser.RAND_USER_NAME}</span>
			</td>
			</tr>
			
</table>

Was habe ich falsch gemacht, denn es funktionniert nicht....

Verfasst: 13.03.2007 22:37
von S2B
das fehlt:

Code: Alles auswählen

<!-- BEGIN randuser -->
...
<!-- END randuser -->

Verfasst: 14.03.2007 06:48
von punkface
siehe: KB:template_syntax Abschnitt Schleifen / Blöcke

Wenn du aber so wie so nur einen Benutzer ausgeben willst, brauchst du doch eigentlich keine Schleife...

Verfasst: 14.03.2007 07:19
von Dr.Death
...ORDER BY RAND() ????

Verfasst: 14.03.2007 07:31
von easygo
Dr.Death hat geschrieben:...ORDER BY RAND() ????
Für MySQL 3.23 aufwärts kein Problem :/ easy

Verfasst: 14.03.2007 07:42
von phillip
S2B hat geschrieben:das fehlt:

Code: Alles auswählen

<!-- BEGIN randuser -->
...
<!-- END randuser -->

genau das habe ich vergessen, danke!

Verfasst: 14.03.2007 08:07
von Dr.Death
Danke easygo.
Über ein ORDER BY RAND() hatte ich mir bisher noch keine Gedanken gemacht..... was es nicht alles gibt ;-)