Foros del Web » Programando para Internet » PHP »

Por que no cuenta los resultados??

Estas en el tema de Por que no cuenta los resultados?? en el foro de PHP en Foros del Web. esque quiero contar el numero de mensajes que tenga cada usuario, y este es el codigo que estoy usando pero, por ejemplo si son tres ...
  #1 (permalink)  
Antiguo 18/12/2008, 22:03
 
Fecha de Ingreso: enero-2008
Mensajes: 214
Antigüedad: 16 años, 2 meses
Puntos: 3
Por que no cuenta los resultados??

esque quiero contar el numero de mensajes que tenga cada usuario, y este es el codigo que estoy usando pero, por ejemplo si son tres mensajes los que tiene imprime esto (1,1,1) y no el tres (3), por que? alguien sabe que estoy haciendo mal?? desde ya gracias

Código PHP:
<?
    $sql6 
"SELECT para, fecha, COUNT(para) FROM mensajes WHERE 
    para='$usuario' AND leido = 1 GROUP BY fecha"
;
      
$msj mysql_query($sql6) or die('Error' mysql_error());
      while (
$row mysql_fetch_assoc($msj)) {
      
$menje = array($row['para']);
      
$result5 count($menje);
       echo 
""$row['COUNT(para)'] .""
      }
      
?>
  #2 (permalink)  
Antiguo 18/12/2008, 22:08
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Por que no cuenta los resultados??

Usa mysql_num_rows(), eso te devolvera el numero de resultados devueltos.

Código PHP:
echo ""$row['COUNT(para)'] .""
¿Para que las comillas al principio y al final?
echo $row['COUNT(para)'];

Ah, te recomiendo usar un alias para tu campo COUNT(para).
SELECT COUNT(para) AS numero FROM tabla blahblahblah
  #3 (permalink)  
Antiguo 18/12/2008, 22:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Por que no cuenta los resultados??

Cita:
Iniciado por Ronruby Ver Mensaje
[...]

¿Para que las comillas al principio y al final?

[...]
sii.... ¿para que???



otro un clásico es, usar comillas con una sola variable ...

Código PHP:
echo "$foo"// :S
echo $foo// XD 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 19/12/2008, 00:31
 
Fecha de Ingreso: enero-2008
Mensajes: 214
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Por que no cuenta los resultados??

bueno eso de las comillas se me fue, por que casi siempre pongo tambien texto y luego un resultado de la base de datos, pero bueno no me podrian dar un ejemplito de como quedaria ya que no le agarro??
  #5 (permalink)  
Antiguo 19/12/2008, 07:28
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 16 años
Puntos: 5
Respuesta: Por que no cuenta los resultados??

Hi !

Código PHP:
<?
    $sql6 
"SELECT para, fecha  FROM mensajes WHERE 
    para='$usuario' AND leido = 1 GROUP BY fecha"
;

      
$msj mysql_query($sql6) or die('Error' mysql_error());
      while (
$row mysql_fetch_assoc($msj)) {
           
$menje = array($row['para']);
      }
      
$total count($menje);

     echo 
"El total es: ".$total;
?>
Espero te sea util :D

-ByE-
__________________
--
Mi Portfolio Online! Visitalo!
--
  #6 (permalink)  
Antiguo 19/12/2008, 10:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Por que no cuenta los resultados??

Eso no funciona, porque estas sobreescribiendo el valor de $menje en cada vuelta del bucle, asi no es como se agregan elementos a un array.

Código PHP:
while ($row mysql_fetch_assoc($msj)) {
           
$menje = array($row['para']);
      } 
Ademas, es mas facil:

Código PHP:
<?php
$sql6 
"SELECT para, fecha  FROM mensajes WHERE 
    para='$usuario' AND leido = 1 GROUP BY fecha"
;
$msj mysql_query($sql6) or die(mysql_error());
echo 
mysql_num_rows($msj); //tah dah -_-

//o sino directamente desde mysql con un ALIAS
$sql "SELECT COUNT(para) as numero FROM mensajes WHERE para='$usuario' etc -_-";
$msj mysql_query($sql);
$row mysql_fetch_row($msj);
echo 
$row[0];
?>
  #7 (permalink)  
Antiguo 19/12/2008, 11:22
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 16 años
Puntos: 5
Respuesta: Por que no cuenta los resultados??

Hi!

Error mio Ronruby, no lei todo el codigo :P Gracias por la aclaración

-ByE-
__________________
--
Mi Portfolio Online! Visitalo!
--
  #8 (permalink)  
Antiguo 19/12/2008, 13:59
 
Fecha de Ingreso: enero-2008
Mensajes: 214
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Por que no cuenta los resultados??

yyy gracias Ronruby si me sirvio. thanks man!!
  #9 (permalink)  
Antiguo 19/12/2008, 14:37
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Por que no cuenta los resultados??

y para que dos selects y si como el inicio ya estaba casi resulto.....

Código PHP:
<? 
    $sql6 
"SELECT para, fecha, COUNT(para) FROM mensajes WHERE  
    para='$usuario' AND leido = 1 GROUP BY fecha"

      
$msj mysql_query($sql6) or die('Error' mysql_error()); 
      while (
$row mysql_fetch_row($msj)) { 
      
$menje = array($row[0]); 
      
$result5 count($menje); 
       echo 
$row[2];  
      } 
      
?>
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #10 (permalink)  
Antiguo 19/12/2008, 14:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Por que no cuenta los resultados??

No hay que hacer dos selects, solo expuse dos ejemplos. Se puede hacer en 1 select sin problema alguno.
  #11 (permalink)  
Antiguo 19/12/2008, 17:34
 
Fecha de Ingreso: enero-2008
Mensajes: 214
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Por que no cuenta los resultados??

es cierto puso dos ejemplos al principio yo tambien pense lo mismo, pero bueno yo use el primero
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 03:31.