Todo según como lo quieras hacer, pero en si hay dos formas básicas de hacerlo (no tan básicas), una es haciendo un
SELECT anidando las dos tablas y la otra haciendo un
JOIN para unir datos en común de ambas tablas, vamos a nombrar las tablas de la siguiente manera:
phpbb_user = USERS_TABLE
phpbb_datofamilia = DATO_FAMILIA_TABLE
Anidando tablas:
Código: Seleccionar todo
$sql = 'SELECT d.familia_id, u.username, u.user_id, u.user_colour
FROM ' . DATO_FAMILIA_TABLE . ' d, ' . USERS_TABLE . ' u
WHERE d.familia_id = u.user_id';
$result = $db->sql_query_limit($sql, '10'); // 10 es el limite de usuarios a mostrar por consulta
Uniendo tablas con JOIN:
Código: Seleccionar todo
$sql = array(
'SELECT' => 'd.familia_id, u.username, u.user_id, u.user_colour',
'FROM' => array(
DATO_FAMILIA_TABLE => 'd',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'd.familia_id = u.user_id'
),
),
'ORDER_BY' => 'u.username ASC',
);
$sql = $db->sql_build_query('SELECT', $sql);
$result = $db->sql_query_limit($sql, '10'); // 10 es el limite de usuarios a mostrar por consulta
Que es mas largo, complejo y complicado de entender el método con el
JOIN y detrás de todo hacen lo mismo,
Si, PERO... cuando se tienen tablas muy inmensas es mejor hacerlo con el
JOIN ya que la consulta tiene prioridad a una de las tablas (en este caso prioridad a la izquierda "
LEFT_JOIN" con la tabla
USERS_TABLE), puedes buscar mas sobre
JOIN por la net para entender mejor su funcionamiento.
Luego de eso, sea cual sea el método que usaste debes crear la variable de $template para listar los resultados, de la siguiente manera:
Código: Seleccionar todo
while ($row = $db->sql_fetchrow($result)) {
$template->assign_block_vars('listar_datofamilia', array(
'USER_PROFILE' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
));
}
La función
get_username_string( );
es intrínseca de phpBB y sirve para obtener el perfil de usuario llevándole algunos parámetros.
Luego en el HTML solo debes poner:
Código: Seleccionar todo
<!-- BEGIN listar_datofamilia -->
{listar_datofamilia.USER_PROFILE}
<!-- END listar_datofamilia -->
y con eso tendrás el listado de usuarios que están en la tabla datofamilia.
Sobre las guías en español para el manejo de código en phpBB, la verdad no las conozco, creo que seria nuestra labor como
Sitio oficial de Soporte phpBB en Español el crearlas o traducirlas.