Comunidad de diseño web y desarrollo en internet online

Operaciones entre funciones

Citar            
MensajeEscrito el 10 Dic 2010 04:48 pm
Tengo dos funciones y necesito hacer calculos entre ellas, ejemplo sumar resultados de las dos funciones.

ejemplo:
function total_inicio ()
{
include("config.php");
$total_inicio = mysql_query ("SELECT count(b.NoIdentidad) AS total_inicio
FROM BoletaISPEstudianteMinicial b");
$row = mysql_fetch_assoc($total_inicio);
echo "Matricula temporal Inicial: " .$row["total_inicio"]."</a><br>";
}

function total_inicio_crd ()
{
include("config.php");
$total_inicio_crd = mysql_query ("SELECT Sum(b.NoIdentidad And b.TipoCurso='1') AS total_inicio_crd
FROM BoletaISPEstudianteMinicial b");
$row = mysql_fetch_assoc(total_inicio_crd);
echo "Matricula Inicial CRD: " .$row["total_inicio_crd"]."</a><br>";
}

necesito hacer otra función que sume 'total_inicio' (primera función) + 'total_inicio_crd' (segunda función).
Gracias acostumbradas a todos.
pueden eviarme respuestas a [email protected]

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 10 Dic 2010 05:18 pm
Pues esque esta todo incorrectamente planetado.

Para empesar estas haciendo dos funciones que hacen casi lo mismo, en vez de hacer una funcion que haga ambas cosas, con un parametro que decida entre nua y otra, segundo en vez de hacer echos dentro de la función deberías retornar los datos y quiza en tu tercer función hacer la vista y asi podrías hacer operaciones entre ellas.

Por otro lado si ya andas en esto de las funciones no entiendo por que mandar llamar tu config para hacer tu conexión y sobre todo, por que no instanciar esa conexion para despues de utilizarla cerrarla, te das cuenta que es un sistema muy vulnerable?

Un ejemplo rapido, de lo que te recomiendo que puedes hacer, ademas de recomendarte comenzar a leer OOP, ya que por lo visto es para un sistema escolar y creo que deberías tener bien planteado como programarlo.

Ejemplo:

Código PHP :

<?php
// Función dedicada a retornar la conexión con tu base de datos
function DBConnect()
  {
  $link = mysql_connect("localhost","root","pass");
  mysql_select_db("db",$link);

  return $link;
  }
// Función dedicada a retornar los datos de tu base de datos
function getEnrollment($sw)
  {
  switch($sw)
    {
    case 'temporal':
      $query = "SELECT count(b.NoIdentidad) AS total FROM BoletaISPEstudianteMinicial b";
    break;
    case 'inicial':
      $query = "SELECT Sum(b.NoIdentidad And b.TipoCurso='1') AS total FROM BoletaISPEstudianteMinicial b";
    break;
    }

  $link    = DBConnect();

  $request = mysql_query($query,$link);

  $result  = $request['total'];

  mysql_close($link);

  return $result;
  }
// Función dedicada a imprimir el resultado, no retorna ningún dato.
function printEnrollment($sw)
  {
  switch($sw)
    {
    case "temporal":
      echo "Matricula temporal inicial: ".getEnrollment($sw);
    break;
    case "inicial":
      echo "Matricula Inicial CRD: ".getEnrollment($sw);
    break;
    case "total":
      echo "Total de matriculas: ".getEnrollment("temporal") + getEnrollment("inicial");
    break;
    }
  }
// Ejecutas tu función
  
  
printEnrollment("temporal"); // Imprime tu matricula temporal inicial 

printEnrollment("inicial"); // Imprime tu matricula Inicial CRD

printEnrollment("total"); // Imprime el total de tus matriculas
?>



Saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox
Citar            
MensajeEscrito el 10 Dic 2010 07:34 pm
Muchas, muchas gracias jOina.
Realmente me estás ofreciendo gran ayuda: obtuve el código que me propones pero realmente no me funciona y no encuentro el por qué.
Disculpa, si pudieras darme una manito con este tema.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 11 Dic 2010 10:54 pm
Pues por lo unico que creo que podría no funcionar es por que no colocaste los datos de tu base de datos en la funcion DBConnect, si no te funciona pon que mensaje de error te da, o cual es el problema

saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox
Citar            
MensajeEscrito el 16 Dic 2010 07:15 pm
Hola jOina.
Estuve OffLine unos días y necesito retomar el tema de las funciones.
Coloqué los datos de mi base en la funcion DBConnect correctamente, testéo y funciona.
Las consultas funcionan correctamente pero no logro obtener el resultado que necesito.

Del código que me propones, esto es lo que obtengo:
Matricula temporal inicial: Matricula Inicial CRD: 0

Gracias por todo.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.