Foros del Web » Programando para Internet » PHP »

sumar registros con function de manera facil

Estas en el tema de sumar registros con function de manera facil en el foro de PHP en Foros del Web. Hola estoy usando funtion para sumar lo registros pero son tantos que me cuesta hacerlo 1 por 1 y queria saber si saben un metod ...
  #1 (permalink)  
Antiguo 11/02/2011, 11:42
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 8 años, 10 meses
Puntos: 4
Pregunta sumar registros con function de manera facil

Hola estoy usando funtion para sumar lo registros pero son tantos que me cuesta hacerlo 1 por 1 y queria saber si saben un metod mas simple

// se me abia ocurrido con arras y count o algo asi pero no se ¿alguna idea?

Código PHP:



function num_registros($categoria){

$query_num_registros=mysql_query("SELECT * FROM tabla WHERE categoria=".$categoria." ") or die ( mysql_error() );

$num_registros=mysql_num_rows($query_num_registros);

return 
$num_registros;

}
//funcion cuenta num registros



//suma asunto
$suma_asunto
 
num_registros(465) +

num_registros(444)

//etc....

  #2 (permalink)  
Antiguo 11/02/2011, 13:08
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 9 años, 9 meses
Puntos: 55
Respuesta: sumar registros con function de manera facil

Código PHP:
<?php
//si tienes todos los valores en un arreglo
$registros = array(111,334,221,2235,3123);
$suma 0;
foreach(
$registros as $valor){
     
$suma += num_registros($valor);
}


//o lo otro seria en el query
// si tienes $categoria un string separado por comas
$query_num_registros=mysql_query("SELECT * FROM tabla WHERE categoria IN (".$categoria.") ") or die ( mysql_error() );
?>
  #3 (permalink)  
Antiguo 11/02/2011, 13:35
Avatar de atoBeto  
Fecha de Ingreso: abril-2008
Ubicación: B.C.S., México
Mensajes: 35
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: sumar registros con function de manera facil

Como anotación, es ineficiente para la consulta, pedir todos los registros y después aplicar la función de número de registros mysql_num_rows, sería mejor que en la consulta SQL se incluyera la función nativa COUNT:

Código PHP:
$query_num_registros=mysql_query("SELECT COUNT(*) FROM tabla WHERE categoria IN (".$categoria.") ") or die ( mysql_error() );
$num_registros mysql_result($query_num_registros0); //Esta función devuelve directamente el valor obtenido de la consulta, en este caso la suma del número de registros obtenidos
return $num_registros
Por otro lado, para hacerlo más dinámico se podría rehacer la función (siguiendo el consejo de Death):

Código PHP:
function suma_categorias($id_categorias = array()) //Le pasamos en un arreglo todos los id de las categorias que deseas contar
{
    
$query_num_registros=mysql_query("SELECT COUNT(*) FROM tabla 
    WHERE categoria IN ("
implode(", ",$id_categorias) . ")") or die ( mysql_error() );
    
$num_registros mysql_result($query_num_registros0);
    return 
$num_registros;


Última edición por atoBeto; 11/02/2011 a las 13:40
  #4 (permalink)  
Antiguo 11/02/2011, 18:50
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: sumar registros con function de manera facil

esta otra me puede servir pero no puedo separarlo en una variable no veo como hacerlo ¿podria decirme?

Cita:

<?php
//si tienes todos los valores en un arreglo
$registros = array(111,334,221,2235,3123);
$suma = 0;
foreach($registros as $valor){
$suma += num_registros($valor);
}


//o lo otro seria en el query
// si tienes $categoria un string separado por comas
$query_num_registros=mysql_query("SELECT * FROM tabla WHERE categoria IN (".$categoria.") ") or die ( mysql_error() );
?>
Esta me diio la imprecion de repetir el array o el query continuemente

Cita:

function suma_categorias($id_categorias = array()) //Le pasamos en un arreglo todos los id de las categorias que deseas contar
{
$query_num_registros=mysql_query("SELECT COUNT(*) FROM tabla
WHERE categoria IN (". implode(", ",$id_categorias) . ")") or die ( mysql_error() );
$num_registros = mysql_result($query_num_registros, 0);
return $num_registros;
}

Etiquetas: facil, function, registros
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:52.