PHP - sacar nota en php ayuda urgente

 
Vista:

sacar nota en php ayuda urgente

Publicado por alice (5 intervenciones) el 25/01/2013 22:05:54
Hola amigos como estan?

Tengo un problema urgente agradesco quien me quiera ayudar.

Estoy realizando una aplicacion en PHP y basicamente lo que hace es tomar los datos de una evaluacion, contar la cantidad de errores criticos de el monitoreo hecho , y sacar una nota de acuerdo al numero de errores. Si hay errores tiene que dar 0 , pero si no tiene tendra que dar 100.
Espero me hayan entendido.

Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
$conexion=mysql_connect("localhost","root","");
$bd_usar="db_xerox_final";
 
if (!$conexion)
  {
  die('Could not connect: ' . mysql_error());
  }
 
 
 
//$cantidad_ec=$_POST['cantidad_ec'];
//cuenta la cantidad de errores criticos almacena en una variable
$cantidad_ec=mysql_query("SELECT SUM(error1 +  error2 +  error3 +  error4 +  error5 +  error6 +  error7 +  error8 +  error9 +  error10+ error11+ error12 ) AS cantidad_ec
FROM evaluacion1 where id_monitoreo=id_monitoreo,$conexion);");
//echo  $cantidad_ec;
//$resultado=mysql_fetch_array($cantidad_ec, MYSQL_ASSOC);
//echo $row["total"];
//condicion si la cantidad de errores criticos es cero o mas de cero
if($cantidad_ec==0)
{
$notamonitoreo=100;
//$recorre = mysql_fetch_row($cantidad_ec);
//$cliente = $recorre[0];
//$dir_inmueble = $recorre[1];
//$estrato = $recorre[2];
}
echo "Su nota de monitoreo es :$notamonitoreo</br>";
 
 if
 ($cantidad_ec=!0)
{
$notamonitoreo=0;
echo "Su nota de monitoreo es :$notamonitoreo</br>";
}
?>


Agradesco su pronta respuesta.

Al parecer no me esta contando los errores criticos y la nota siempre me aparece en 0.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sacar nota en php ayuda urgente

Publicado por xve (6935 intervenciones) el 26/01/2013 09:44:12
Hola Alice, que errores te da?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sacar nota en php ayuda urgente

Publicado por Alice (5 intervenciones) el 26/01/2013 22:30:50
no ve sale ningun error de sintaxis , la nota me aparece en 0 y la cantidad de errores siempre dice que es 1.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sacar nota en php ayuda urgente

Publicado por xve (6935 intervenciones) el 27/01/2013 10:30:51
Alice, revisando un poco, he visto que la query esta mal...

Tendría que ser así (comillas del final):
"SELECT SUM(error1 + error2 + error3 + error4 + error5 + error6 + error7 + error8 + error9 + error10+ error11+ error12 ) AS cantidad_ec
FROM evaluacion1 where id_monitoreo=id_monitoreo",$conexion);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sacar nota en php ayuda urgente

Publicado por Alice (5 intervenciones) el 27/01/2013 20:20:40
si creo que es la query tambien. Pero eso es lo que no se como hacer por que de esa forma me cuenta los errores pero de la fila que estoy seleccionando pero no en si del monitoreo que estoy realizando en ese momento.
No se que poner en la consulta para que sume los errores criticos del ultimo monitoreo hecho solamente no de todos en general.

Te agradesco si me pudieras ayudar con eso?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sacar nota en php ayuda urgente

Publicado por xve (6935 intervenciones) el 27/01/2013 21:10:22
Has probado la consulta directamente en la base de datos? te da algún error?

Es muy difícil ayudarte, sin saber exactamente la estructura de tu base de datos, ni que quieres obtener...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sacar nota en php ayuda urgente

Publicado por alice (5 intervenciones) el 28/01/2013 15:15:37
tienes un correo electronico para enviarte los pantallazos de la base de datos y que quiero obtener?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

sacar nota en php ayuda urgente

Publicado por Enrique Pascalin (2 intervenciones) el 28/01/2013 15:37:27
Aquí te va el problema:

1-La función mysql_query() jamás te va a regresar un entero, por lo que no puedes mágicamente esperar que:

$cantidad_ec=mysql_query(..); te devuelva el entero que quieres obtener de la suma.

2-Dicha función, regresa un resultset, que tienes que convertir en un entero con una función fetch:

http://php.net/manual/en/function.mysql-fetch-row.php

$result = mysql_query(...); //Tu consulta, que regresa 1 solo valor
$row = mysql_fetch_row($result); //Ahora si es un arreglo de 1 solo valor, que contiene tu resultado.
$cantidad_ec = $row[0]; //Como solo regresa 1 valor, el primer subíndice está bien.
//NOTA: dado que estas definiendo el nombre del resultado en la consulta " ... AS cantidad_ec"
//También puedes usar:
// $cantidad_ec = $row['cantidad_ec']

Ahora si tendrás almacenado en la variable $cantidad_ec el resultado de la consulta.

3-Te falta una comilla: where id_monitoreo=id_monitoreo",$conexion)");

4-Jamás estás definiendo id_monitoreo; tienes que usar algo como:
...
$id_monitoreo = 44;
$query = "SELECT SUM(...) AS cantidad_ec
FROM evaluacion1
WHERE id_monitoreo = " . $id_monitoreo;
//Nota, id_monitoreo debes definirlo o estas pidiendo 1 = 1 en vez de solo la fila que quieres.

$result = mysql_query($query);
...

5-El operador de negación está mal:
($cantidad_ec=!0)

Esto tiene muchos errores, no te aparecen porque tienes desactivado en el servidor el despliegue de errores, (display_errors = off) pero SI que los hay. Te recomiendo usar un IDE capaz de mostrarte tus errores, incluso antes de probarlo, como Netbeans.

Saludos

Se escribe:
($cantidad_ec != 0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

sacar nota en php ayuda urgente

Publicado por alice (5 intervenciones) el 28/01/2013 18:07:25
Hola como estas? aparece un error que dice Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\xerox app\Resultado.php on line 31

aparece en esta linea

$row = mysql_fetch_row($result);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

sacar nota en php ayuda urgente

Publicado por Enrique Pascalin (2 intervenciones) el 28/01/2013 19:24:07
Mira, mysql_query tiene los siguientes retornos:

http://php.net/manual/es/function.mysql-query.php


Si haces SELECT mysql_query regresa "resource" que es tu recordset y es lo que espera la función mysql_fetch_row(). Si haces insert, update, etc regresa true en caso de éxito o false en caso de error.

NOTA: si haces un SELECT y te devuelve false (porque un SELECT JAMAS devuelve true):

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given

Es porque el SELECT tiene un error de sintáxis. (entonces falla y devuelve FALSE y por eso truena la función).

Debes asegurarte que la sintáxis de tu query sea correcta del siguiente modo:

$query = "SELECT... WHERE id_monitoreo = " . $id_monitoreo;
echo $query;
exit;

Eso te imprimirá en pantalla el query tal y como lo estás mandando a SQL. El exit significa "para la ejecución" y es justamente últil para depurar.

corre el query tal y como lo estás mandando en tu admin SQL (phpmyadmin, mysqladmin o consola) y observa tus errores. corrígelos para que tu query no falle.

Mándame a mi correo tu código y un dump de tu tabla y con gusto te regreso el ejercicio resuelto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar