Foros del Web » Programando para Internet » PHP »

funcion para la suma de campos de una tabla

Estas en el tema de funcion para la suma de campos de una tabla en el foro de PHP en Foros del Web. Hola a todos. A ver. Tengo que diseñar una base de datos donde existen 20 campos llamados A, B, C, D....hasta la letra 20 del ...
  #1 (permalink)  
Antiguo 09/03/2008, 13:28
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
funcion para la suma de campos de una tabla

Hola a todos. A ver. Tengo que diseñar una base de datos donde existen 20 campos llamados A, B, C, D....hasta la letra 20 del alfabeto. Cada campo es el anterior más 20 de tal modo que tenemos que:

El campo B será el valor de A + 20; el C = B+ 20... y así sucesivamente. El campo A será introducido manualmente. Esta suma no puede pasar del 360, de tal modo que si en un campo tenemos esto:

campo G = 358
El siguiente campo sería H = G+ 20 = 358 + 20 --- Como la suma da más de 360, tendríamos: hasta 360 hay 2, y luego sería sumar 18, con lo cual, el valor de H sería H = 18;

Como podría hacer esto? Por favor necesito vuestra ayuda

Gracias por todo
  #2 (permalink)  
Antiguo 09/03/2008, 15:05
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: funcion para la suma de campos de una tabla

Unas cuantas preguntas :

1 .- ¿El script tiene que analizar campo por campo, comparando los valores de cada uno con el que lo antecede y el que lo precede, ó tú pasarás el campo a analizar y sólo comprobará su valor con el campo que le antecede y precede?

2 .- Esta es sólo para ver si entendí lo último... Supon tenemos un campo con un valor menor a 360, pero a este tenemos que sumarle 20 y el resultado nos da más de 360, luego a este resultado le restamos para que nos de 360 y el resto se lo sumamos al campo siguiente?

Nos vemos XD
  #3 (permalink)  
Antiguo 10/03/2008, 01:05
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
Hola. Gracias por tu respuesta y espero que puedas ayudarme. Respecto a tus preguntas:

1.- Tiene que analizar campo por campo y comparar valores.

2.- Exacto, es como dices.

Estoy hechita un lío.

alguna ayuda¿?

Sugerencias?

Última edición por GatorV; 10/03/2008 a las 09:09
  #4 (permalink)  
Antiguo 10/03/2008, 09:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: funcion para la suma de campos de una tabla

Pues lo que puedes hacer es crear un script sencillo e ir comparando con ifs, por decir:
Código PHP:
$inicial_A 20// Dato desde el que empieza.
$contador $inicial_A;
$incremento 20;
$resultado = array();
$resultado['A'] = $inicial_A;
foreach( 
range'B''Z' ) as $letra ) {
       
$contador += $incremento;
       if( 
$contador 360 ) {
               
$contador 360 $contador// restante
               
$incremento 0;
       }
       
$resultado[$letra] = $contador;

Luego ya en $resultado tendrás un arreglo donde por cada letra tendrás el valor y lo podrás insertar en la base de datos:
Código PHP:
$query "INSERT INTO Letras (%s) VALUES (%s)";
$campos array_keys($resultado);
$valores array_values($resultado);
$query sprintf$queryimplode","$campos), implode","$valores ));
mysql_query$query ) or die( "Error de SQL: $query, error: " mysql_error() ); 
Saludos.
  #5 (permalink)  
Antiguo 11/03/2008, 01:22
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: funcion para la suma de campos de una tabla

jo sois fantasticos....ante todo, gracias...mil gracias por vuestra ayuda. pero seguimos (perdonad pero es que esoy empezando con php y aunque controlo ya algo no creais hay cosas que todavía me superan).

Yo tengo mi página socios.php, donde puedo ver la ficha de cada socio. en esta ficha, aparecen los campos:
CAMPO A
CAMPO B
CAMPO C
....
CAMPO S

La cuestión estaría que al meter yo en el input del campo A el número que quisiera (por ejemplo, el 17) automáticamente los otros campos, al pulsar un botón por ejemplo 'generar' (un input tipo submit) pues me generara los otros campos. Cómo hago eso con vuestras funciones?

gracias otra vez. sois unos ángeles:aplaus o:
  #6 (permalink)  
Antiguo 11/03/2008, 06:03
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: funcion para la suma de campos de una tabla

Mmmmmmmmmmmm.... eso puedes hacerlo con javascript... sería lo ideal...

Código:
// Código javascript...

<script>

function generar_campos( value, contenedor )
{
   // Verificamos que el campo "A" exista...
   if ( document.getElementById(value) )
       var nro = document.getElementById(value).value;

   // Verificamos que el contenedor exista =o... xD
   if ( document.getElementById(contenedor) )
       var cont = document.getElementById(contenedor);
 
   // isNaN = Is Not a Number 
   if ( isNaN(nro) )
       alert('¡Sólo números!');
   else {
      
      // Creamos un array con los elementos posibles : 20 letras del alfabeto partiendo de la B, es decir, 19 letras + A ( la A está por defecto en el form ). ¿Excluimos la Ñ?
      var arr_letras = {'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'};

      var _campos = "";

      // Creamos un bucle for para generar la cantidad de campos necesarios...
      for ( var i = 0; i < nro; ++i )
           _campos += "<br /> <input type='text' name='"+ arr_letras[i] +"' value='' />";

        // Luego insertamos eso dentro del contenedor...
       cont.innerHTML += _campos; 
   }
       
      
   
}

</script>


// Archivo HTML...

// Contenedor. Ej : <div ...>

<div id="contenido">

// Al apretar este botón, los campos generados dinámicamente deberían aparecer bajo el campo "A"

// Cómo parámetros le pasamos el id del campo A ( id = "A" ) y el ID del contenedor ( id = "contenido" )
<input type="button" value="Generar" onclick="javascript:generar_campos('A', 'contenido');" />

<input type="text" id="A" name="A" value="" />

</div>
El javascript no es mi fuerte, así que no aseguro la funcionalidad de este script, pero puedes probar xD...

Cualquier cosa nos avisas...

PD : No sé si te entendí bien, pero lo hice con lo que entendí de tu última duda xD
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 00:09.