Seite 1 von 1

Abfrage user_id, user_name, ben_profielfeld im ACP

Verfasst: 03.06.2008 21:03
von Pionier
Hallo,

ich suche eine SQL Abfrage um im ACP eine Tabelle mit folgenden Daten darzustellen:
  • user_id
  • user_name
  • pf_ingame (benutzerdefiniertes Profilfeld)
Es sollen aber nur die User einer bestimmten Gruppe (z.B Group_id = 10) ausgelesen werden.

Im Template möchte ich dann alles so darstellen:

Code: Alles auswählen

			<!-- BEGIN userrow -->
			<form method="POST" enctype="multipart/form-data">
			<!-- IF userrow.S_ROW_COUNT is even -->
			<tr class="row1">
			<!-- ELSE -->
			<tr class="row2">
			<!-- ENDIF -->
				<td width="20%" valign="middle" nowrap="nowrap"><span class="genmed">{userrow.USERNAME}</span></td>
				<td width="20%" valign="middle" nowrap="nowrap"><span class="genmed">{userrow.USERINGAME}</span></td>
				<td width="20%" valign="middle" nowrap="nowrap"><span class="genmed">{userrow.USERALLYTAG}</span></td>
				<td valign="middle" nowrap="nowrap"><span class="genmed"><input type="hidden" name="user_id" value="{userrow.USERID}" /><input class="button2" type="submit" name="edit" value="{L_ACP_USER_EDIT_USER}" /></span></td>
			</tr>
			</form>
			<!-- END userrow -->
Ist in der functions_user.php schon so eine Abfrage enthalten? Und wenn ja, wie kann ich diese für meine Zwecke nutzen?

Ich habe es schon mit diesem Code versucht, aber da stecjt ein gewaltiger Wurm drin :(

Code: Alles auswählen

// Get user_id from user_group
				$sql = 'SELECT * 
					FROM ' . USER_GROUP_TABLE . "
						WHERE group_id = 10"; 
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
					$current_user_id	= $row['user_id'];
				}
				$db->sql_freeresult($result);
				
				// Get user_name from user
				$sql = 'SELECT username 
					FROM ' . USERS_TABLE . " 
					WHERE user_id = $current_user_id" ;
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
				
					$template->assign_block_vars('userrow', array(
								'USERNAME'		=> $row['username'],
								)
							);
				
				}
				$db->sql_freeresult($result);
				
				// Get user_ingamename
				$sql = 'SELECT * 
					FROM ' . PROFILE_FIELDS_DATA_TABLE . " 
					WHERE user_id = $current_user_id" ;
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
				
					$template->assign_block_vars('userrow', array(
								'USERINGAME'		=> $row['pf_ingame'],
								)
							);
				
				}
				$db->sql_freeresult($result);

				$colspan = 4;
					
				// Generate page
				$template->assign_vars(array(
					'U_ACTION'			=> $this->u_action,
					'S_USER'			=> true,
					'COLSPAN'			=> $colspan,
					)
				);

Verfasst: 05.06.2008 19:00
von Pionier
Habe den Code nun etwas geändert. Leider wird nun immer nur der letzte User der den Kriterien entspricht angezeigt.

Code: Alles auswählen

// Get all config data
				$allytool_config = get_allytool_config();
				$enable	=	$allytool_config['restrict_to'];
									
				// Load the user overview page
				// Get user_id from user_group
				$sql = 'SELECT * 
					FROM ' . USER_GROUP_TABLE . "
						WHERE group_id = $enable" ; 
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
					$current_user_id	= $row['user_id'];
				}
				$db->sql_freeresult($result);
				
				// Get user_name from user
				$sql = 'SELECT username 
					FROM ' . USERS_TABLE . " 
					WHERE user_id = $current_user_id" ;
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
						$user_name = $row['username'];
				}
				$db->sql_freeresult($result);
				
				// Get user_ingamename from user
				$sql = 'SELECT * 
					FROM ' . PROFILE_FIELDS_DATA_TABLE . " 
					WHERE user_id = $current_user_id" ;
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
					$user_ingame = $row['pf_ingame'];
				}
				$db->sql_freeresult($result);
								
				$template->assign_block_vars('userrow', array(
								'USERNAME' 			=> $user_name,
								'USERINGAME'		=> $user_ingame,
								)
							);
				
				$colspan = 5;
					
				// Generate page
				$template->assign_vars(array(
					'U_ACTION'			=> $this->u_action,
					'S_USER'			=> true,
					'COLSPAN'			=> $colspan,
					)
				);
Kann mir wirklich keiner helfen??

Verfasst: 08.06.2008 19:18
von Pionier
***PUSH***

Man muss doch irgendwie die zweite und dritte Abfrage in eine Schleife bekommen :(

ABER WIE ??????