Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Como Puedo Saber Los Post Mensuales [SOLUCIONADO]

Foro de phpBB2 Avanzado no para dudas de Soporte General.

0
No hay votos
 
Votos totales: 0

sauwi
Observador/a
Mensajes: 38
Registrado: 19 Oct 2005, 10:32

Respuesta: Como Puedo Saber Los Post Mensuales De Cada Usuar

#16

Mensaje por sauwi »

Muchas gracias por intentarlo,por favor pega el codigo aqui a ver si lo podemos mejorar.Yo pensaba que con el mismo mod que utilice para calcularlo en el perfil del usuario podria,pero al ponerlo me da fallo.A ver si con el tuyo tenemos mas suerte.Saludos

Avatar de Usuario
esnola
Avanzado/a
Mensajes: 451
Registrado: 07 Abr 2006, 12:42

Respuesta: Como Puedo Saber Los Post Mensuales De Cada Usuar

#17

Mensaje por esnola »

Es que he utilizado el código de ese mismo MOD, pero haciendo la llamada a una función que incluye ese código desde el memberlis.php.
Hay crear un nuevo campo en la tabla phpbb_users:
EJECUTAR LA CONSULTA

Código: Seleccionar todo

ALTER TABLE `phpbb_users` ADD `post_mes` INT( 4 ) NOT NULL ;
La función va en inculdes/functions.php y es esta:
BUSCAR AÑADIR ANTES

Código: Seleccionar todo

function post_ultimo_mes(){
    global $db;
    $current_time = time();
	$this_months_posts = 0;
	$year = date('Y', $current_time);
	$month [0] = mktime (0,0,0,1,1, $year);
	$month [1] = $month [0] + 2678400;
	$month [2] = mktime (0,0,0,3,1, $year);
	$month [3] = $month [2] + 2678400;
	$month [4] = $month [3] + 2592000;
	$month [5] = $month [4] + 2678400;
	$month [6] = $month [5] + 2592000;
	$month [7] = $month [6] + 2678400;
	$month [8] = $month [7] + 2678400;
	$month [9] = $month [8] + 2592000;
	$month [10] = $month [9] + 2678400;
	$month [11] = $month [10] + 2592000;
	$month [12] = $month [11] + 2592000;
	$arr_num = ( date('n')-1 );
	$time_thismonth = $month[$arr_num];
	$sql=mysql_query("SELECT user_id
					  FROM " . USERS_TABLE ."
					  WHERE username != 'ANONYMOUS'
					  AND user_posts > 0 ");

	while($rows=mysql_fetch_assoc($sql))
	{
	$sqla = "SELECT count(post_id) as monthly_posts
			FROM " . POSTS_TABLE . "
			WHERE poster_id = '". $rows['user_id'] . "'
			AND post_time > '" . intval($time_thismonth) . "'";
	if(! $result = $db->sql_query($sqla) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain last months postcount.', '', __LINE__, __FILE__, $sql);
	}
	$row = $db->sql_fetchrow($result);
	$this_months_posts = $row['monthly_posts'];
	$db->sql_freeresult($result);
		$actualiza= (" UPDATE " . USERS_TABLE . "
							 SET post_mes = ".$row['monthly_posts']."
							 WHERE user_id= '". $rows['user_id'] . "'
							 LIMIT 1 ") ;
		if(! $actualizar = $db->sql_query($actualiza) )
		{
			message_die(GENERAL_ERROR, 'No actualiza.', '', __LINE__, __FILE__, $sql);
		}

	}
}


Modificar el memberlist.php:
BUSCAR:

Código: Seleccionar todo

        $select_sort_mode .= '<option value="' . $mode_types[$i] . '"' . $selected . '>' . $mode_types_text[$i] . '</option>';
}
AÑADIR DESPUES:

Código: Seleccionar todo

$select_sort_mode .='<option value="Posts_month"' . $selected . '>Mensajes este mes</option>';
BUSCAR:

Código: Seleccionar todo

$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
                break;
AÑADIR DESPUES:

Código: Seleccionar todo

case 'Posts_month':
               $order_by = " post_mes $sort_order LIMIT $start, " . $board_config['topics_per_page'];
               break;
BUSCAR:

Código: Seleccionar todo

$sql = "SELECT username, user_absence, user_absence_mode, user_id
        FROM " . USERS_TABLE .
AÑADIR ANTES

Código: Seleccionar todo

post_ultimo_mes();
AÑADIR EN LA LINEA DESPUES DE username

Código: Seleccionar todo

, post_mes
BUSCAR

Código: Seleccionar todo

$user_id = $row['user_id'];
AÑADIR DESPUES

Código: Seleccionar todo

$this_months_posts = $row['post_mes'];


BUSCAR:

Código: Seleccionar todo

$template->assign_block_vars('memberrow', array(
AÑADIR DESPUES

Código: Seleccionar todo

'ULTIMO_MES'=>$this_months_posts,
Ahora en el template ya teneis que experimentar un poco porque yo utilizo el plus y tengo la seguridad donde quedaría perfecto esto:

BUSCAR

Código: Seleccionar todo

<td class="{memberrow.ROW_CLASS}" align="center">&nbsp;{memberrow.WWW_IMG}&nbsp;</td>
AÑDIR DEPUES (o donde veas oportuno)

Código: Seleccionar todo

<td class="{memberrow.ROW_CLASS}" align="center">&nbsp;{memberrow.ULTIMO_MES}&nbsp;</td>
Posiblemente tengas que hacer alguna modificación en el span col de la tabla para que esta no se deforme.

Saludos
Última edición por esnola el 16 Abr 2007, 22:24, editado 1 vez en total.
Webmaster de Todo-Mods
Webmaster de Todoelbarco.com

Imagen

Avatar de Usuario
esnola
Avanzado/a
Mensajes: 451
Registrado: 07 Abr 2006, 12:42

Respuesta: Como Puedo Saber Los Post Mensuales De Cada Usuar

#18

Mensaje por esnola »

Se puede hacer de otra forma, pero no podrías ordenar la lista en función de los post del último mes.
Webmaster de Todo-Mods
Webmaster de Todoelbarco.com

Imagen

SuperNovato
Ex Staff
Mensajes: 2521
Registrado: 15 Mar 2006, 19:34

Re: Respuesta: Como Puedo Saber Los Post Mensuales De Cada U

#19

Mensaje por SuperNovato »

Pregunta tonta.
¿Alguien ha probado lo que dijo The Kuka?: Es MOD de estadísticas de Acyd Burn podría servir...
Yo no sé casi nada de esto. Pero puedo aprender.
Porque para saber estoy solo. Pero para aprender no.

[hr]Antes de nada, lee las Normas de phpBB-Es, y la siempre útil Guí­a de phpBB en Castellano.
Consulta la Biblioteca (Guías, etc.), y los FAQS de ayuda phpBB para tus problemas. Quizás esté resuelto.
Si es sobre cómo Crear una Consulta SQL ya lo tienes explicado en el enlace.
En general, se pide Buscar antes de preguntar para no repetir preguntas y dudas resueltas.
Sólo tendrás Soporte si facilitas los datos correspondientes y si respetas completamente el Copyright de phpBB.
NOTA: No damos Soporte a los foros integrados en Nuke y derivados del mismo. Infórmate [url=PHP-nuke-y-phpbb-vt1733.html]AQUÍ

sauwi
Observador/a
Mensajes: 38
Registrado: 19 Oct 2005, 10:32

Respuesta: Como Puedo Saber Los Post Mensuales De Cada Usuar

#20

Mensaje por sauwi »

Cual es ese mod?No lo he encontrado.Saludos

Avatar de Usuario
Zuker
Ex Staff
Mensajes: 1729
Registrado: 27 Jun 2006, 17:19
Edad: 36

Respuesta: Como Puedo Saber Los Post Mensuales De Cada Usuar

#21

Mensaje por Zuker »

Ese mod si mal no recuerdo te da los 10 usuarios que mas postearon en el mes, no todos los usuarios
Antes de nada, lee las Normas de phpBB-Es, y la siempre útil Guí­a de phpBB en Castellano.
Consulta la Documentación de phpBB 2, la Documentación de phpBB 3 y los FAQS de ayuda para tus problemas.
Quizás esté resuelto, y todos ahorremos tiempo.
Si es sobre cómo Crear una Consulta SQL ya lo tienes explicado en el enlace.
En general, se pide Buscar antes de preguntar para no repetir preguntas y dudas resueltas.
Sólo tendrás Soporte si facilitas los datos correspondientes y si respetas completamente el Copyright de phpBB.
NOTA: No damos Soporte a los foros integrados en Nuke y derivados del mismo. Infórmate AQUÍ.[hr] © Zuker - Taringa! CS - tuRiver

sauwi
Observador/a
Mensajes: 38
Registrado: 19 Oct 2005, 10:32

Respuesta: Como Puedo Saber Los Post Mensuales De Cada Usuar

#22

Mensaje por sauwi »

Si es asi me puede servir, pero no lo encuentro por niongun sitio.Saludos

sauwi
Observador/a
Mensajes: 38
Registrado: 19 Oct 2005, 10:32

Respuesta: Como Puedo Saber Los Post Mensuales [SOLUCIONADO]

#23

Mensaje por sauwi »

Solucionado gracias al mod cash mod.Hice un sistema de puntos y me sirve para lo mismo.Saludos

Cerrado

Volver a “phpBB 2 Avanzado, integración, etc.”