Autor Tema: Error al mostrar la suma de las columnas de la tabla  (Leído 539 veces)

Desconectado Chewii

  • PHPer@
  • **
  • Mensajes: 62
  • Karma: 0
  • Sexo: Masculino
  • Aprendiendo sobre Tortugas Marinas!!
    • Ver Perfil
Error al mostrar la suma de las columnas de la tabla
« en: 07 de Octubre de 2011, 16:53:39 pm »
Que mas amigos, aqui estoy de nuevo con un detallito que me falta y no logro deducir, les explico:

yo tengo dentro de mi sistema, una planilla o formulario que se llama "Resumen de Crucero", este formulario guarda toda la informacion referente a las capturas realizadas en las faneas de pesca, y los datos que tiene son la suma de las capturas de todos los lances, de atunes y de fauna incidental(fauna no objetivo, esto es otra cosa); luego de ingresar estos datos, el sistema debe calcular el total de kilogramos e individuos capturados durante el viaje, y ese total se debe guardar en la base, o tambien simplemente ser impreso en pantalla para comparar, hasta ahi todo bien; tengo un archivo html,con el formulario de ingreso, y debajo muestro los totales de la suma de las dos columnas, y en otro archivo tngo el script de ingreso de datos, el detalle es q cuando ingreso los datos, me genera un error y no me muestra los valores, aqui les dejo los codigos de los archivos:

capturas.php (formulario de ingreso de datos)

Código: [Seleccionar]
<?php 
$result 
mysql_query("SELECT SUM(indiv) as total FROM capturas WHERE tc=1 && crno=$crno"); 
$row mysql_fetch_assoc($result); 
$result2 mysql_query("SELECT SUM(kilog) as total_kg FROM capturas WHERE tc=1 && crno=$crno"); 
$row2 mysql_fetch_assoc($result2); 
?>

<form name="form1" method="post" action="caps.php">
  <p>CAPTURA DEL CRUCERO</p>
  <p>CRUCERO:
    <input name="crno" type="text" id="crno">
</p>
  <p>TIPO CAPTURA: 
    <input name="tc" type="text" id="tc">
  </p>
  <p>ESPECIE: 
    <input name="esp" type="text" id="esp">
  </p>
  <p>INIDIVDUOS: 
    <input name="ind" type="text" id="ind">
  </p>
  <p>KILOGRAMOS: 
    <input name="kg" type="text" id="kg">
</p>
  <p>
    <input type="submit" name="registro" value="Enviar">
  </p>
</form>
<?php  
echo &#39;Total Individuos Capturados= &#39;. $row["total"].&#39;&#39;; 

echo &#39;Total Kilogramos Capturados= &#39;. $row2["total_kg"].&#39;&#39;; 


?>

caps.php (Ingreso de datos)
Código: [Seleccionar]
<?php //Captura total de Atunes 
//Conexion con la base 
$mens="Los datos fueron registrados con exito"
$error = &#39;<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>&#39;; 
require_once(&#39;config.php&#39;); 
//include(&#39;errores.php&#39;); 
//Evitamos el hackeo , si enviaron el form trabajamos sino mensaje de error  
$crno $_POST["crno"]; 
$cond $_POST["tc"]; 
$ci $_POST["esp"]; 
$nind $_POST["ind"]; 
$nkg $_POST["kg"]; 
// Proceso de insersión de datos, si es correcto te da el mensaje aprobado, si no es correcto, te manda mensaje de error 
$sqlcaptu mysql_query("INSERT INTO capturas  
                          (crno,tc,especie,indiv,kilog)  
                          VALUES  (&#39;
$crno&#39;,&#39;$cond&#39;,&#39;$ci&#39;,&#39;$nind&#39;,&#39;$nkg&#39;) "); 
    
/*if(!$sqlcaptu) {     
        echo &#39;Error en el registro.&#39; . $error . &#39;&#39;; 
        exit; 
    } else { 
        print "<script>alert(&#39;$mens&#39;)</script>"; 
        print"<script>document.location=&#39;capturas.php&#39;</script>"; 
    }*/ 


?>

El error que me arroja es este, justamente en las dos consultas que hago para buscar los datos.

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebas\capturas.php on line 24
Total Individuos Capturados=
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebas\capturas.php on line 28
Total Kilogramos Capturados=

Espero me puedan ayudar, la consulta funciona, siempre y cuando la haga en el script de ingreso de datos, que me los muestra sin problemas, pero quiero mostrarlos en la pagina del form y tambien mostrar los datos de ingreso en una tablita. Saludos!!

Comunidad PHPeros

Error al mostrar la suma de las columnas de la tabla
« en: 07 de Octubre de 2011, 16:53:39 pm »

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:Error al mostrar la suma de las columnas de la tabla
« Respuesta #1 en: 07 de Octubre de 2011, 21:04:36 pm »
Bueno, no entendí muy bien, pero antes que nada corrige estos errores:
1.- Muy grave: para evitar el hackeo pasa cada variable por mysql_real_escape_string(), para evitar el SQLi
2.- Usa echo en vez de print, gasta menos
3.- Require gasta más que include, y require_once gasta aún más que require, así que lo mejor es incluir el archivo con include() y tener cuidado al hacer el sistema para no generar errores
----
Un detalle: los datos que le pases a MySQL es preferible que estén entre comillas simples (si es que por fuera usas dobles), así:
mysql_query("SELECT algo FROM tabla WHERE id = '1' && algo = 'otra cosa'");
para evitar errores ( es preferible ponerlas siempre para evitar errores )

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:Error al mostrar la suma de las columnas de la tabla
« Respuesta #2 en: 13 de Octubre de 2011, 22:04:00 pm »
Esto:
$result mysql_query("SELECT SUM(indiv) as total FROM capturas WHERE tc=1 && crno=&#39;$crno&#39;"); 
$row mysql_fetch_assoc($result); 
$result2 mysql_query("SELECT SUM(kilog) as total_kg FROM capturas WHERE tc=1 && crno=&#39;$crno&#39;"); 
$row2 mysql_fetch_assoc($result2); 


Se ha de poder resumir en esto:
$result mysql_query("SELECT SUM(indiv) as total, SUM(kilog) AS total_kg FROM capturas WHERE tc=1 && crno=&#39;$crno&#39;"); 
$row mysql_fetch_assoc($result);
« Última modificación: 13 de Octubre de 2011, 22:07:49 pm por Physlet »