Foros del Web » Programando para Internet » PHP »

Totalizar un campo de una bd

Estas en el tema de Totalizar un campo de una bd en el foro de PHP en Foros del Web. Necesito saber que estoy haciendo mal. este codigo no me envia nada . Ni siquiera un error. Quiero totalizar los valores del campo valorpendiente <?php ...
  #1 (permalink)  
Antiguo 13/03/2009, 11:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Totalizar un campo de una bd

Necesito saber que estoy haciendo mal. este codigo no me envia nada . Ni siquiera un error. Quiero totalizar los valores del campo valorpendiente

<?php
$servidor="10.0.0.5";
$usuario="gilsoto";
$clave="eureka2003";
$conexion = mysql_connect($servidor,$usuario,$clave) or die ("Error en conexion");
mysql_select_db("contratos");
if ($codigo<>"")
{
$query= "SELECT SUM valororiginal AS totalcampo FROM movimientoscr WHERE cofigo='codigo'";
while ($row = mysql_query($query))
{
}
}
$ver=$valorariginal;
echo ($ver);
mysql_close

?>
  #2 (permalink)  
Antiguo 13/03/2009, 11:23
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 11 años
Puntos: 2
Respuesta: Totalizar un campo de una bd

Cita:
Iniciado por gilsoto2003 Ver Mensaje
Necesito saber que estoy haciendo mal. este codigo no me envia nada . Ni siquiera un error. Quiero totalizar los valores del campo valorpendiente

<?php
$servidor="10.0.0.5";
$usuario="gilsoto";
$clave="eureka2003";
$conexion = mysql_connect($servidor,$usuario,$clave) or die ("Error en conexion");
mysql_select_db("contratos");
if ($codigo<>"")
{
$query= "SELECT SUM valororiginal AS totalcampo FROM movimientoscr WHERE cofigo='codigo'";
while ($row = mysql_query($conexion,$query))
{
}
}
$ver=$valorariginal;
echo ($ver);
mysql_close

?>
  #3 (permalink)  
Antiguo 13/03/2009, 12:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 7 meses
Puntos: 416
Respuesta: Totalizar un campo de una bd

Cita:
while ($row = mysql_query($query))
Tienes que asignarle el resource a una variable, y luego a esa variable pasarla por mysql_fetch_array()

$result = mysql_query($query) o die(mysql_error());
while($row = mysql_fetch_array($result)) {
//hola
}

Cita:
while ($row = mysql_query($conexion,$query))
Aun asi esta mal, la conexion es el 2do parametro de mysql_query() y es Opcional.
  #4 (permalink)  
Antiguo 13/03/2009, 12:18
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: Totalizar un campo de una bd

Tenes un pequeño error en la conulta SQL, es SUM(valororiginal) , va entre paréntesis

el while no es necesario ya que solo va a devolver el total sumado.
  #5 (permalink)  
Antiguo 13/03/2009, 12:19
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Totalizar un campo de una bd

Una posible solución:

Código PHP:

<?php
  $servidor
="10.0.0.5";
  
$usuario="gilsoto";
  
$clave="eureka2003";
  
$conexion mysql_connect($servidor,$usuario,$clave) or die ("Error en conexion");
  
mysql_select_db("contratos");

  if (
$codigo<>"")
  {
     
$query"SELECT SUM(valororiginal) AS totalcampo FROM movimientoscr WHERE cofigo='codigo'";
     
$result=mysql_query($query);

     
//verifico que no haya error y que se devuelvan registros
     
if(!mysql_error() && mysql_num_rows($result)>0)
     {
           
//extraigo una fila del conjunto de resultados
           
$fila=mysql_fetch_assoc($result);
           
//libero recursos usados por la variable $result
           
mysql_free_result($result);
           
//muestro el valor calculado en la consulta
           
echo $fila['totalcampo'];
     }
  }

  
mysql_close();

?>
  #6 (permalink)  
Antiguo 13/03/2009, 12:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 7 meses
Puntos: 416
Respuesta: Totalizar un campo de una bd

Cita:
el while no es necesario ya que solo va a devolver el total sumado.
lisandro Arg tiene razon, el while no es necesario. Esa consulta solo va a devolver 1 resultado. Puedes usar directamente el mysql_fetch_array().
  #7 (permalink)  
Antiguo 13/03/2009, 12:41
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: Totalizar un campo de una bd

Una pequeña acotación.
Como resultado de una consulta usando funciones como sum(), max(),min(),avg(),... siempre devuelve una fila por lo tanto no es necesario contarlas.
Código php:
Ver original
  1. mysql_num_rows($result)>0

Saludos.
  #8 (permalink)  
Antiguo 13/03/2009, 13:20
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Totalizar un campo de una bd

Cita:
if ($codigo<>"")
en vez de ello utiliza la función php empty
que te verifica si la variable está vacía o no
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #9 (permalink)  
Antiguo 30/03/2009, 11:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Totalizar un campo de una bd

Definitavmente sigue todo igual .Gracias de todos modos
  #10 (permalink)  
Antiguo 30/03/2009, 11:49
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 7 meses
Puntos: 416
Respuesta: Totalizar un campo de una bd

Muestranos como tienes el codigo hasta ahora.
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 18:45.