Abfrage user_id, user_name, ben_profielfeld im ACP

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Pionier
Mitglied
Beiträge: 232
Registriert: 29.12.2007 19:55
Wohnort: Niebüll (S-H)
Kontaktdaten:

Abfrage user_id, user_name, ben_profielfeld im ACP

Beitrag 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,
					)
				);
Benutzeravatar
Pionier
Mitglied
Beiträge: 232
Registriert: 29.12.2007 19:55
Wohnort: Niebüll (S-H)
Kontaktdaten:

Beitrag 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??
Benutzeravatar
Pionier
Mitglied
Beiträge: 232
Registriert: 29.12.2007 19:55
Wohnort: Niebüll (S-H)
Kontaktdaten:

Beitrag von Pionier »

***PUSH***

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

ABER WIE ??????
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“