Pagina 1 di 1
richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 14:10
da slash
Giorno a tutti! avrei bisogno di richiamare in una pagina html tutti gli utenti appartenenti ad un determinato gruppo di phpBB.
Sapete aiutarmi? col php sono al livello di un ameba!
GRAZIE!
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 14:22
da Micogian
Cosa vuol dire "richiamare"? forse volevi dire "elencare" ? la cosa è leggermente diversa.
Se è una Lista che vuoi il "Gruppo" dove e come viene distinto ?
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 14:29
da slash
ecco l ho detto che sono un ameba in php XD! allora mi spiego meglio:
Io, per ipotesi, ho creato il gruppo utenti: "noob" dal pda di phpbb ora vorrei vedere nel index_body tutti gli utenti appartenerti a quel gruppo.
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 14:47
da Carlo
In generale dovresti creare una query SQL che estragga la lista di tutti gli utenti nel gruppo con ID X, e poi con un ciclo foreach aggiungerli ad una variabile di template.
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 14:57
da slash
XD! come faccio tutto ciò??? finché si sta nel campo html e css me la cavo ma ripeto sql e php per mè sono out!
Grazie!
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 16:28
da Micogian
Se hai un pò di pazienza posso darci un'occhiata, penso che il Gruppo vada cercato con una query su più tabelle, users, groups e user_groups. Nel frattempo controlla nelal tabella groups qual'è l'ID del gruppo che ti interessa visualizzare.
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 18:03
da slash
Grazie Mico! attenderò con ansia! appena torno a casa ti faccio sapere l iD del gruppo!
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 20:08
da Micogian
Allora, devi fare così:
1) Crea un file nella root del forum dal nome "special_group.php" con il seguente contenuto:
Codice: Seleziona tutto
<?php
$group = '99'; // sostituire con il group_id interessato
$sql = "SELECT u.user_id, u.username, u.user_colour, g.group_id, g.group_name, ug.group_id, ug.user_id
FROM " . USERS_TABLE . " u, " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
WHERE g.group_id = " . $group ."
AND u.user_id = ug.user_id
AND g.group_id = ug.group_id
ORDER BY u.username" ;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$group_name = $row['group_name'];
$user_group = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
$special_group_list .= ($special_group_list != '') ? ', ' . $user_group : $user_group;
}
$template->assign_vars(array(
'LEGEND_SPECIAL_LIST' => "Gruppo " . $group_name . ": " ,
'SPECIAL_USERS_LIST' => $special_group_list
));
?>
2) Sostituisci ovviamente il valore di
$group = 99;
con il group_id che ti interessa estrarre.
3) Nel file index.php inserisci, prima della riga
// Output page
la seguente riga di codice:
Codice: Seleziona tutto
include($phpbb_root_path . 'special_group.' . $phpEx);
4) Nel template, nel file index_body.html trova il seguente codice:
Codice: Seleziona tutto
<!-- IF S_DISPLAY_ONLINE_LIST -->
<!-- IF U_VIEWONLINE --><h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><!-- ELSE --><h3>{L_WHO_IS_ONLINE}</h3><!-- ENDIF -->
<p>{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /> <br />{LOGGED_IN_USER_LIST}
<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p>
<!-- ENDIF -->
e aggiungi questo:
Codice: Seleziona tutto
<!-- IF S_USER_LOGGED_IN and not S_IS_BOT -->
<p>{LEGEND_SPECIAL_LIST} {SPECIAL_USERS_LIST}</p>
<!-- ENDIF -->
Aggiorna la cache e prova.
Re: richiamare utenti di un determinato gruppo phpBB
Inviato: 11/01/2012, 21:13
da slash
Grazie infinite mico! funziona alla perfezione! \m/
Domani sistemo l html e poi ti faccio vedere a cosa mi è servito tutto ciò
