Foros del Web » Programando para Internet » PHP »

Problema con mysql_result()

Estas en el tema de Problema con mysql_result() en el foro de PHP en Foros del Web. Hola, Me he mirado todos los foros sobre problemas con mysql_result pero es que no consigo ver dónde está mi error comparando con el de ...
  #1 (permalink)  
Antiguo 30/10/2008, 04:21
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
Problema con mysql_result()

Hola,

Me he mirado todos los foros sobre problemas con mysql_result pero es que no consigo ver dónde está mi error comparando con el de los compañeros.

La cosa es fácil. He creado una tabla en que se van incluyendo filas según los méritos de los usuarios, que por hacer X obtienen 50 puntos y por hacer Y obtienen 5 puntos.

Así por ejemplo en la tabla puntosrao obtengo 2 filas que son:

id - usuario - puntos
1 - carlos - 50
2 - carlos - 5

La suma clara es 55, y quiero que eso se le muestre en su panel de usuario, debajo del típico Bienvenido $usuario, tus puntos actuales son $puntos.

El código que he creado para hacer esa suma de la misma tabla es:

Código:
$query69 = "SELECT SUM (puntos) FROM puntosrao WHERE usuario='$usuario'";
$puntos = mysql_result($query69, 0, "puntos");
El parámetro $usuario está bien definido, y tal... no consigo ver el error y me devuelve esto cuando cargo la página:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/chs/mipaginaweb/home/html/usuarioconpuntos.php on line 69

La línea 69 es la de $puntos = mysql_result...


Si alguien me puede ayudar. Gracias!
  #2 (permalink)  
Antiguo 30/10/2008, 04:27
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Problema con mysql_result()

Hola chicos,

Bueno finalmente he resuelto el entuerto así (no sé si es lo más óptimo):
Código:
$query69 = "SELECT SUM(puntos) as total FROM puntosrao WHERE usuario='$usuariooo'";
$result69 = mysql_query($query69);
$row69 = mysql_fetch_array($result69);
Y entonces luego con un $row69['total'] me muestra perfectamente los puntos.

Gracias igualmente!
  #3 (permalink)  
Antiguo 30/10/2008, 09:33
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Problema con mysql_result()

Hola, vuelvo a ser yo, y continuo en este mismo hilo, ya que va un poco en relación.

Mi problema, es que no me ordena los valores por la suma que hace de cada usuario. Tengo por ejemplo 3 usuarios con estos puntos:

carlos 47
francisco 7
pepe 40

y no me ordena de mayor a menor. Lo he probado con el order by total desc, pero no me hace caso. ¿por qué?

El código es:

Código:
$query69 = "SELECT SUM(puntos) as total FROM puntosrao WHERE usuario='$usuario' ";
$result69 = mysql_query($query69);

El problema quizás viene dado porque hay 3 querys para conformar la clasificación, ya que vinculo 2 tablas. El 1r query es:

Código:
$result = mysql_query("SELECT count(*) as usuarios,usuario FROM puntosrao group by usuario");
El 2º query es el que he puesto anteriormente:

Código:
$query69 = "SELECT SUM(puntos) as total FROM puntosrao WHERE usuario='$usuario' ";
$result69 = mysql_query($query69);
Y el 3º:

Código:
$result70 = mysql_query("SELECT *  FROM usuarios WHERE usuario='$usuario'");
El problema es que son dependientes, y todos hacen el do - while. Ya que con el 1r query agrupo por usuarios sus puntuaciones, en el 2º le digo que sume los puntos de ese mismo usuario, y en el 3º recoge el avatar que cada usuario tiene en la tabla usuarios para hacer la clasificación más bonita.

Y no sé cómo hacer que ordene por los puntos. También he probado cambiando las categorías en MYSQL, le tengo dado INT.

Si alguien me ayuda... A lo mejor es porque podría fusionar las primeras 2 querys, pero no sé si eso sería óptimo...

Gracias!
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 17:53.