[Réglé] Récupérer le nom des modos d'un forum

Forum de développements privés.

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

[Réglé] [Réglé] Récupérer le nom des modos d'un forum

Messagepar MGD » 19 Mar 2006 à 10:42

Salut tout le monde :)


Pour un de mes mods, je dois récupérer le nom et l'email des modos d'un forum en particulier, mais je bloque sur la requete.

C'est facile si les modos sont mis directement modo:
Code: Tout sélectionner
						$sql = "SELECT username, user_email, user_lang
								FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g, " . USERS_TABLE . " u
								WHERE aa.auth_mod = " . TRUE . " 
								AND g.group_single_user = 1 
								AND ug.group_id = aa.group_id 
								AND g.group_id = aa.group_id 
								AND u.user_id = ug.user_id 
								AND aa.forum_id = $forum_id

Dans ce cas, cela fonctionne
Mais si les modos sont dans un groupe, je bloque sur la requete SQL a executer pour sortir les emails et leur noms

Si vous avez des idées, merci d'avance

@+ ;)
Modifié en dernier par MGD le 19 Mar 2006 à 12:53, modifié 1 fois.
Avatar de l’utilisateur
MGD
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 6266
Enregistré le: 04 Aoû 2004 à 10:45
Localisation: Metz ARL57

Messagepar Oyo » 19 Mar 2006 à 11:34

lu..

c'est une question d'odre d'argument de plus avec u. devant username, user_mail et user_lang c'est mieux surtout quand tu fais un AS :)


Voila la requête a utilisé, il faut certainement l'optimiser ceci dit tu aurais tu utiliser les LEFT JOIN ;)

Code: Tout sélectionner
SELECT u.username, u.user_email, u.user_lang

FROM " . AUTH_ACCESS_TABLE . " aa, 
" . GROUPS_TABLE . " g, 
" . USER_GROUP_TABLE . " ug, 
" . USERS_TABLE . " u

WHERE aa.group_id = g.group_id
AND g.group_id = ug.group_id
AND u.user_id = ug.user_id
AND ug.user_pending = 1
AND aa.auth_mod = " . TRUE . " 
AND aa.forum_id = $forum_id
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar MGD » 19 Mar 2006 à 11:39

Merci Oyo, mais la requete ne fonctionne pas si les modos sont dans un groupes, c'est la mon probleme

Elle fonctionne si les modos ne sont pas mis dans un groupe ("Modérateur: Pseudo1, pseudo2,...")

Mais si c'est un groupe ("Modérateur: Groupe1, Groupe2,..."), aucun enregistement n'est retourné.

Et c'est la mon probleme....
Avatar de l’utilisateur
MGD
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 6266
Enregistré le: 04 Aoû 2004 à 10:45
Localisation: Metz ARL57

Messagepar Oyo » 19 Mar 2006 à 12:14

Regarde l'image:
Image

Ainsi que celle la:
Image

pour info 6b66736a646120545 & 6b 66 73 6a 64 61 20 54 5 n'on aucun droit ce sont des utilisateur basic sauf qu'il sont modérateur sur le forum 1 par le fait qu'on soit dans le groupe test requete.

Voila ce que j'ai fait pour les afficher:
Code: Tout sélectionner
<?php
/***************************************************************************
 *                        test
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);
init_userprefs($userdata);
// End session management


// Generate page
$page_title = "GG";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
	'body' => 'page_liste.tpl')
);

$forum_id = 1;

$sql = "SELECT u.username, u.user_email, u.user_lang
FROM " . AUTH_ACCESS_TABLE . " aa,
" . GROUPS_TABLE . " g,
" . USER_GROUP_TABLE . " ug,
" . USERS_TABLE . " u
WHERE aa.group_id = g.group_id
AND g.group_id = ug.group_id
AND u.user_id = ug.user_id
AND ug.user_pending = 1
AND aa.auth_mod = 1
AND aa.forum_id = $forum_id"; 

if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}

if ( $row = $db->sql_fetchrow($result) )
{
	$i = 0;
	do
	{
		$username = $row['username'];
		$user_email = $row['user_email'];
		$user_lang = $row['user_lang'];


		$template->assign_block_vars('mgd', array(
			'USER' => $username,
			'MAIL' => $user_email,
			'LANG' => $user_lang)
		);

		$i++;
	}
	while ( $row = $db->sql_fetchrow($result) );
	$db->sql_freeresult($result);
}


$pagination = '&nbsp;';
$total_members = 10;

$template->assign_vars(array(
	'PAGINATION' => $pagination,
	'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $total_members / $board_config['topics_per_page'] )), 

	'L_GOTO_PAGE' => $lang['Goto_page'])
);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>


Code: Tout sélectionner

  <table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
	<tr> 
	  <th height="25" class="thCornerL" nowrap="nowrap">USER</th>
	  <th class="thTop" nowrap="nowrap">MAIL</th>
	  <th class="thCornerR" nowrap="nowrap">LANG</th>
	</tr>
	<!-- BEGIN mgd -->
	<tr> 
	  <td class="row1" align="center"><span class="gen">&nbsp;{mgd.USER}&nbsp;</span></td>
	  <td class="row2" align="center">&nbsp;{mgd.MAIL}&nbsp;</td>
	  <td class="row1" align="center">&nbsp;{mgd.LANG}&nbsp;</td>
	</tr>
	<!-- END mgd -->
	<tr> 
	  <td class="catBottom" colspan="8" height="28">&nbsp;</td>
	</tr>
  </table>
  <table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
	<tr> 
	  <td align="right" valign="top"></td>
	</tr>
  </table>

<table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr> 
	<td><span class="nav">{PAGE_NUMBER}</span></td>
	<td align="right"><span class="nav">{PAGINATION}</span></td>
  </tr>
</table>


Voila le rendu final:
Image
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar MGD » 19 Mar 2006 à 12:47

Ok merci

je vais regarder ca de plus près car en essayant la requete SQL suivante dans phpmyadmin:
Code: Tout sélectionner
SELECT u.username, u.user_email, u.user_lang

FROM  phpbb_auth_access as aa,
 phpbb_groups as g,
 phpbb_user_group as ug,
 phpbb_users as u

WHERE aa.group_id = g.group_id
AND g.group_id = ug.group_id
AND u.user_id = ug.user_id
AND ug.user_pending = 1
AND aa.auth_mod = 1
AND aa.forum_id = 4

J'obtiens :
MySQL n'a retourné aucun enregistrement. (traitement: 0.0144 sec.)


:roll: :roll:

Je test en local et je te tiens au courant
Avatar de l’utilisateur
MGD
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 6266
Enregistré le: 04 Aoû 2004 à 10:45
Localisation: Metz ARL57

Messagepar Oyo » 19 Mar 2006 à 12:48

c'est qu'il n'y a pas de membre en attante dans ce groupe
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar MGD » 19 Mar 2006 à 12:53

holalalalalalala

Je suis stupide

C'était:

Code: Tout sélectionner
SELECT u.username, u.user_email, u.user_lang
FROM phpbb_auth_access AS aa, phpbb_groups AS g, phpbb_user_group AS ug, phpbb_users AS u
WHERE aa.group_id = g.group_id
AND g.group_id = ug.group_id
AND u.user_id = ug.user_id
AND ug.user_pending =0
AND aa.auth_mod =1
AND aa.forum_id =4


La requete à faire


Merci Oyo ;)

Merci pour tout ;)

@+ ;)
Avatar de l’utilisateur
MGD
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 6266
Enregistré le: 04 Aoû 2004 à 10:45
Localisation: Metz ARL57

Messagepar Oyo » 19 Mar 2006 à 12:54

dr ;)..
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar MGD » 19 Mar 2006 à 13:01

Je galérais depuis je ne sais combien de temps la dessus, alors qu'il suffisait de mettre:

Code: Tout sélectionner
ug.user_pending =0

:oops: :oops:
Avatar de l’utilisateur
MGD
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 6266
Enregistré le: 04 Aoû 2004 à 10:45
Localisation: Metz ARL57


Retourner vers Développements privés

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité