Foros del Web » Programando para Internet » PHP »

Suma de mensajes

Estas en el tema de Suma de mensajes en el foro de PHP en Foros del Web. Buenas a todos, quería saber como podria lograr la suma de posts, por ejemplo tengo que cuanto el autor del tema publica se agrega como ...
  #1 (permalink)  
Antiguo 10/07/2014, 12:29
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Suma de mensajes

Buenas a todos, quería saber como podria lograr la suma de posts, por ejemplo tengo que cuanto el autor del tema publica se agrega como el primer tema con lo cual los mensajes publicados en ese tema deverían ir sumando apartir del 2.

¿Cómo podria lograr esto? E intentado sumar sus respuestas del tema pa asi asignar cada respuesta en cada mensaje publicado pero me muestra en todos el mismo número.

Pongo un ejemplo de como queria que apareciera:

AUTOR TEMA: #1

Mensaje 1: #2

Mensaje 2: #3

Mensaje 3: #4

.........

Saludos.
  #2 (permalink)  
Antiguo 10/07/2014, 13:54
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Suma de mensajes

Holas, MaNuX0218.

Creo que tendrías que mostrarnos qué llevas hecho para poder entender en qué es lo que realmente te podemos ayudar, ya que así a primeras, pareciera cosa de un sencillo contador que incrementes por cada nuevo mensaje a mostrar ¿o es al momento de registrar el post? No se entiende bien, profundiza un poco más los detalles, ok?

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 11/07/2014, 00:50
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Suma de mensajes

E probado con estos dos metodos.

El primero me suma en cada mensje el mismo número:

Código PHP:
Ver original
  1. $verf_n = seleccionar_db('COUNT(mensaje) AS mensaje', TABLA_F_MSG, 'tema_id = "'.$rs['tema_id'].'"');
  2.        
  3. $rs_n = mysql_fetch_assoc($verf_n);
  4.        
  5. for($i = 2; $i <= $rs_n['mensaje']; $i++) {
  6.        
  7. $html .= '<div style="display:inline-block; font-size:16px"><b>#'.$i.'</b></div> ';
  8.        
  9. }

Y en el segundo me hace exactamente lo mismo, pienso que es normal ya lo que ago es contar los resultados (cantidad de mensajes que hay en ese tema)

Código PHP:
Ver original
  1. $verf_n = seleccionar_todos_db(TABLA_F_MSG, 'tema_id = "'.$rs['tema_id'].'"');
  2.        
  3. $rs_n = mysql_num_rows($verf_n);
  4.        
  5. for($i = 2; $i <= $rs_n; $i++) {
  6.        
  7. $html .= '<div style="display:inline-block; font-size:16px"><b>#'.$i.'</b></div> ';
  8.        
  9. }

Un saludo.
  #4 (permalink)  
Antiguo 11/07/2014, 07:55
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Suma de mensajes

Holas, MaNuX0218.

Sólo para descartar, ¿podrías compartirnos la estructura de tu tabla de posts? Ya que con las consultas que realizas no me queda claro si al filtrar por tema_id, no será que te está incluyendo el post principal, lo cual asumo no quieres que ocurra.

Por otra parte, en cuanto al resultado, ¿podrías indicarnos qué es lo que te devuelve el código que nos has mostrado? (asumiendo que es el resultado inesperado, pues el deseado sería el que pusiste en tu primer post, no?). Gracias!

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #5 (permalink)  
Antiguo 11/07/2014, 08:13
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Suma de mensajes

Creo que lo que me pides es la consulta, de los post, seria está:

Código PHP:
Ver original
  1. mysql_query('SELECT * posts WHERE cat_id = "1" AND subcat_id = "5" AND topic_id = "10"');

Es un ejemplo de como queda al realizar la consulta, para no estar mostrando todas las variables, etc... pero me funciona perfectamente.

Y el resultado el no deseado con lo mostrado del código anterior me muestra:

#2 #3 #4 #5 #6 - se muestra en todos los posts

Cuando lo deseado sería:

#2 - primer post
#3 - segundo post
#4 - tercer post
.......

Si necesitas algo más pidelo, no metodo todo el código de la funcion ya que es demasiado extenso, pero igualmente de hay no es el problema ya que me funciona correctamente.

Saludos.
  #6 (permalink)  
Antiguo 11/07/2014, 12:05
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Suma de mensajes

Sigo sin poder lograrlo. ¿Alguna solución o sugerencia de como hacerlo?

Saludos.
  #7 (permalink)  
Antiguo 12/07/2014, 05:06
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Suma de mensajes

Por el poco codigo que has puesto no estoy seguro, pero me da la impresion de que tienes 2 bucles, uno para dibujar los post y otro para el número de post, de ser asi, ese es tu problema, solo necesitas un bucle, el que pinta tus post y añadirle un contador para el número de post.
  #8 (permalink)  
Antiguo 12/07/2014, 05:14
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Suma de mensajes

Si creao un bucle para mostrar el numero de mensajes, pero ese bucle lo tengo que meter en el bucle de sacar los mensajes.

Saludos.
  #9 (permalink)  
Antiguo 14/07/2014, 09:19
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Suma de mensajes

A ver, si mal no entiendo, entonces, lo que tienes en este momento es una página donde tienes un post X, y tras mostrar su contenido, quieres que aparezcan los posts respuesta a este post X, cierto? O sea, no hay un bucle nº1, sino una consulta simple filtrada por el ID del post a mostrar, no?

1. Consulta para obtener datos del Post X
2. Bucle: Subconsulta para obtener todos los Posts respuesta del Post X

Ahora, creo que si lo que quieres es mostrar el contenido de estos posts respuesta, debes cambiar tu consulta: en vez de preguntar por el total o cantidad de respuestas, debes preguntar por los registros completos. Algo como:

Código PHP:
$verf_n seleccionar_todos_db(TABLA_F_MSG'tema_id = "'.$rs['tema_id'].'"');
        
$rs_n mysql_num_rows($verf_n);

if (
$rs_n 0)
{
  
$i 1;
  foreach (
$fila mysql_fetch_assoc($verf_n))
  {
    
$html .= '<div style="display:inline-block; font-size:16px"><b>#'.$i.'</b> <p>'.$fila['mensaje'].'</p></div> ';
    
$i++;
  }

Claro, todo esto si es que es lo que estás necesitando.
Saludos!!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #10 (permalink)  
Antiguo 14/07/2014, 10:10
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 11 meses
Puntos: 28
Respuesta: Suma de mensajes

en mi caso yo separo las noticias de los comentarios utilisando claves foraneas y base de datos relacionales...

para que en el momento que yo abro la notica numero 56.

me carga todos los comentarios en orden de fecha que pertenecen a la noticia numero 56...

en el mismo bucle que muestra los comentarios coloco un contador y me muestra que inicia en 1. y así puedo colocar en el titulo cuantos comentarios


Código PHP:
Ver original
  1. n°  Titulo                  Visitas Com.    Herramientas
  2. 56  Esta es una noticia     156     24      Ver Editar Eliminar
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: mensajes, posts, suma
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 05:46.