Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Como mostrar posts de un foro especifico y de un usuario especifico? (en phpbb)

Estas en el tema de Como mostrar posts de un foro especifico y de un usuario especifico? (en phpbb) en el foro de Sistemas de gestión de contenidos en Foros del Web. Como se que muchos programadores, con tiempo libre, andan por estos foros. hago mi petición, (por pedir que no sea ). deseo que alguien elabore ...
  #1 (permalink)  
Antiguo 15/07/2005, 17:27
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (spain)
Mensajes: 56
Antigüedad: 19 años, 3 meses
Puntos: 0
Como mostrar posts de un foro especifico y de un usuario especifico? (en phpbb)

Como se que muchos programadores, con tiempo libre, andan por estos foros. hago mi petición, (por pedir que no sea ).

deseo que alguien elabore una consulta SQL, para obtener (por ejemplo: todos, 25 ultimos,...) mensajes de un usuario determinado (especificado por nosotros) y de un foro en concreto (tambien especificado por nosotros) bajo la estructura de los foros phpbb.

me explico algo mejor: si visitasemos http://www.bezerik.net/foro/viewforum.php?f=1 veriamos todos los post del "forum 1". lo que deseo es la consulta SQL a la base de datos, que muestre todos los post del "forum 1" en este caso en concreto, y en que el autor: el creador del inicio de la discussion sea el mismo usuario, por ejemplo "Bezerik".

muchos direis:, bobo!!! si utilizas el motor de busqyedas de phpBB : http://www.bezerik.net/foro/search.php podrias conseguirlo,!!!
yo digo que no, ya que no se puede especificar el creador de la discussion, es decir, que solo muestre los post, en donde el primer mensaje, vaya, el que inicia la discussion, sea ese usuario que nosotros especificamos.

en otras palabras, con la busqueda de phpbb puedes obtener todos los mensajes de un mismo autor de un foro determinado, pero muestra todos los post en que ese usuario ha participado, no se le especifica, si fue el primero en iniciar el post.

creo que ha quedado bastante claro

porque no lo desarollo yo? porque el poco tiempo libre que me queda despues del trabajo, prefiero invertirlo en otras cosas.

en search.php podeis obtener casi media consulta.

Gracias de antemano
__________________
http://www.bezerik.net
Atención:
- Antes de preguntar lee las FAQ , los Tutoriales, utiliza el Motor de Búsquedas o revisa en Google
- Plantea tus dudas correctamente para que lo demás puedan entenderte. ¿Como hacer preguntas inteligentes?
- Evita colocar títulos como "Ayudaaaa" "Urgenteeeee" porque degradan el motor de búsquedas y resultan desagradables.
  #2 (permalink)  
Antiguo 16/07/2005, 13:27
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
seria un query a la base de datos parecido al que muestra los ultimos posts, la unica cuestion es que dicho query debe ser mas elaborado y debe de ajustarse a las variables que tu indicas: (usuario, foro concreto).

yo empezaria haciendo pruebas con el query y luego ya meteria en el tema de crear un select que (tipo formulario) que envie los datos en forma de variables y asi cambie los parametros del query (de esto saben en php)

a ver si me pongo mas a probar cosas tio por que llevo unas semanas que no doy pie con bola y no hago nada, el verano me deja atontado y muy muy vago.

nos vemos tronco¡
  #3 (permalink)  
Antiguo 18/07/2005, 03:13
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 11 meses
Puntos: 832
Cita:
Iniciado por Bezerik
Como se que muchos programadores, con tiempo libre, andan por estos foros. hago mi petición, (por pedir que no sea ).

deseo que alguien elabore una consulta SQL, para obtener (por ejemplo: todos, 25 ultimos,...) mensajes de un usuario determinado (especificado por nosotros) y de un foro en concreto (tambien especificado por nosotros) bajo la estructura de los foros phpbb.
Cita:
Iniciado por Bezerik
creo que ha quedado bastante claro

porque no lo desarollo yo? porque el poco tiempo libre que me queda despues del trabajo, prefiero invertirlo en otras cosas.
No lo tomes a mal pero. ¿Tienes cómo pagarle el trabajo (Por adelantado claro está) a alguno de los programadores de aquí?. Digo, porque esos argumentos que expusiste se usan cuando se va a pedir un servicio pago, no crees?.

Saludos.
  #4 (permalink)  
Antiguo 19/07/2005, 12:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 300
Antigüedad: 20 años, 4 meses
Puntos: 0
Otra vez

No, no. esa no es la forma de contestar a una persona que pide ayuda, imaginense que se esten robando su negocio y pidan ayuda a un policia que pasa por su tienda y les diga, contrata a un policia privado si quieres seguridad. verdad que no. arrieros somos y en el camino andamos..
__________________
"Comprometidos con la calidad y el buen precio"
Nuestra mi Misión es la calidad, Nuestro futuro es hoy"

Última edición por jmacrosmx; 25/07/2005 a las 11:08
  #5 (permalink)  
Antiguo 25/07/2005, 02:03
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (spain)
Mensajes: 56
Antigüedad: 19 años, 3 meses
Puntos: 0
internet es un lugar en donde puedes encontrar de todo.
puede que a lo mejor encontrara a un programador que habria realizado ya esa consulta y la quisiera compartir con toda la comunidad, o puede que encontrara a alguien, que visita estos foros a menudo y va resolviendo las dudas que puede a los demás, sin nada ha canvio.

mi anterior mensaje no falta el respeto a nadie, ni tampoco esta fuera de lugar.
jmacrosmx, si no te gusto mi petición, siempre puedes ignorarla, pero no creo que la forma este fuera de lugar.

saludos a todos
__________________
http://www.bezerik.net
Atención:
- Antes de preguntar lee las FAQ , los Tutoriales, utiliza el Motor de Búsquedas o revisa en Google
- Plantea tus dudas correctamente para que lo demás puedan entenderte. ¿Como hacer preguntas inteligentes?
- Evita colocar títulos como "Ayudaaaa" "Urgenteeeee" porque degradan el motor de búsquedas y resultan desagradables.
  #6 (permalink)  
Antiguo 25/07/2005, 11:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 300
Antigüedad: 20 años, 4 meses
Puntos: 0
No lo decia por ti Bezeritk

Me referia a la forma en que habian respondido en el foro, ya que siempre que pedimos ayuda de ese tipo salen con CONTRATA UN PROGRAMADOR, mis disculpas pero no era para ti, lo siento por no expresarme bien. saludos
__________________
"Comprometidos con la calidad y el buen precio"
Nuestra mi Misión es la calidad, Nuestro futuro es hoy"
  #7 (permalink)  
Antiguo 26/07/2005, 01:47
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (spain)
Mensajes: 56
Antigüedad: 19 años, 3 meses
Puntos: 0
mis disculpas tambien,
ha sido una confusión.

esta tarde posteo la consulta sql, que mas o menos ya me ha salido
__________________
http://www.bezerik.net
Atención:
- Antes de preguntar lee las FAQ , los Tutoriales, utiliza el Motor de Búsquedas o revisa en Google
- Plantea tus dudas correctamente para que lo demás puedan entenderte. ¿Como hacer preguntas inteligentes?
- Evita colocar títulos como "Ayudaaaa" "Urgenteeeee" porque degradan el motor de búsquedas y resultan desagradables.
  #8 (permalink)  
Antiguo 28/07/2005, 01:57
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (spain)
Mensajes: 56
Antigüedad: 19 años, 3 meses
Puntos: 0
ya llego la consulta SQL, (me ha dado palo pensar )

Código PHP:
SELECT user_iduser_activeusernameuser_leveluser_languser_dateformatuser_emailuser_icquser_websiteuser_aimuser_yimuser_msnmuser_occuser_actkeytopic_idforum_idtopic_titletopic_postertopic_timetopic_viewstopic_repliestopic_statustopic_votetopic_typetopic_first_post_idtopic_last_post_idtopic_moved_idpost_idpost_subjectpost_text
FROM 
`phpbb_users` , `phpbb_topics` , `phpbb_posts_text`
WHERE username "Bezerik"
AND topic_poster user_id AND topic_first_post_id=post_id AND forum_id="5"
LIMIT 0 30 
atención, editad bien, el nombre de vuestras tablas (puede que habeis canviado el prefijo), el username="Bezerik" donde Bezerik es el usuario a vuestra elección, y forum_id="5" donde el 5 es el numero del forum en donde querais que haga la consulta.

Espero que os sirva de gran ayuda.
__________________
http://www.bezerik.net
Atención:
- Antes de preguntar lee las FAQ , los Tutoriales, utiliza el Motor de Búsquedas o revisa en Google
- Plantea tus dudas correctamente para que lo demás puedan entenderte. ¿Como hacer preguntas inteligentes?
- Evita colocar títulos como "Ayudaaaa" "Urgenteeeee" porque degradan el motor de búsquedas y resultan desagradables.
  #9 (permalink)  
Antiguo 30/07/2005, 04:37
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Quería decir una cosilla que a mi me evitó muchos lios. Se trata de lo siguiente: Yo antes, igual que bezerik, cuando creaba una consultilla SQL para cualquier fin solía referenciar las tablas del foro con el nombre que traen por defecto, es decir:

Sufijo: phpbb_ + nombre de la tabla

Y está bien y es relativamente correcto, pero la cosa está en que cuando sueles responder en muchos sitios a las mismas cuestiones, te das cuenta de que a veces la gente no se aclara o no sabe de lo que le estás hablando cuando le dices que cambie el sufijo de la tabla si tiene otro que no sea el que se instala por defecto.

Pués bien, todo este rollo venía a que si echas un ojo en el archivo includes/constants.php te darás cuenta de que al final se crea unas constantes para las tablas:

Código PHP:
// Table names
define('CONFIRM_TABLE'$table_prefix.'confirm');
define('AUTH_ACCESS_TABLE'$table_prefix.'auth_access');
define('BANLIST_TABLE'$table_prefix.'banlist');
define('CATEGORIES_TABLE'$table_prefix.'categories');
define('CONFIG_TABLE'$table_prefix.'config');
define('DISALLOW_TABLE'$table_prefix.'disallow');
define('FORUMS_TABLE'$table_prefix.'forums');
define('GROUPS_TABLE'$table_prefix.'groups');
define('POSTS_TABLE'$table_prefix.'posts');
define('POSTS_TEXT_TABLE'$table_prefix.'posts_text');
define('PRIVMSGS_TABLE'$table_prefix.'privmsgs');
define('PRIVMSGS_TEXT_TABLE'$table_prefix.'privmsgs_text');
define('PRIVMSGS_IGNORE_TABLE'$table_prefix.'privmsgs_ignore');
define('PRUNE_TABLE'$table_prefix.'forum_prune');
define('RANKS_TABLE'$table_prefix.'ranks');
define('SEARCH_TABLE'$table_prefix.'search_results');
define('SEARCH_WORD_TABLE'$table_prefix.'search_wordlist');
define('SEARCH_MATCH_TABLE'$table_prefix.'search_wordmatch');
define('SESSIONS_TABLE'$table_prefix.'sessions');
define('SMILIES_TABLE'$table_prefix.'smilies');
define('THEMES_TABLE'$table_prefix.'themes');
define('THEMES_NAME_TABLE'$table_prefix.'themes_name');
define('TOPICS_TABLE'$table_prefix.'topics');
define('TOPICS_WATCH_TABLE'$table_prefix.'topics_watch');
define('USER_GROUP_TABLE'$table_prefix.'user_group');
define('USERS_TABLE'$table_prefix.'users');
define('WORDS_TABLE'$table_prefix.'words');
define('VOTE_DESC_TABLE'$table_prefix.'vote_desc');
define('VOTE_RESULTS_TABLE'$table_prefix.'vote_results');
define('VOTE_USERS_TABLE'$table_prefix.'vote_voters'); 
Con lo cual si pones un código que contenga una sql, :) , inicias sesion phpbb(para cargar las constantes claro), y dentro de la query SQL referencias las tablas con esas constantes.

Código PHP:

 <?
 $sql
="SELECT user_id, user_active, username, user_level, user_lang, user_dateformat, user_email, user_icq, user_website, user_aim, user_yim, user_msnm, user_occ, user_actkey, topic_id, forum_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_status, topic_vote, topic_type, topic_first_post_id, topic_last_post_id, topic_moved_id, post_id, post_subject, post_text FROM  ".USERS_TABLE." , ".TOPICS_TABLE." , ".POSTS_TEXT_TABLE." WHERE username = 'Bezerik' AND topic_poster = user_id AND topic_first_post_id=post_id AND forum_id='5' LIMIT 0 , 30 ";
?>
Ya sé que parece una tonteria, pero bueno, a mi me evito muchos lios, me acostumbré a usarlo y te evitas que si alguien que tiene un table prefix phpbb_ copia tu código no le de error

Salu2 ;)
__________________
[+]
[+]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:57.