Foros del Web » Programando para Internet » PHP »

Suma de datos de un formulario, con lo existente en base de datos

Estas en el tema de Suma de datos de un formulario, con lo existente en base de datos en el foro de PHP en Foros del Web. Hola a todos, como podeis observar estes es mi primer tema, ya que tras mucho leer, y buscar ayuda por internet, he decidio preguntaros a ...
  #1 (permalink)  
Antiguo 05/12/2009, 18:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Suma de datos de un formulario, con lo existente en base de datos

Hola a todos, como podeis observar estes es mi primer tema, ya que tras mucho leer, y buscar ayuda por internet, he decidio preguntaros a vosotros, puesto que este foro me ha servido de mucha ayuda.

Os pongo en conocimiento, poseo de una base de datos en la que voy recogiendo las estadisticas de los jugadores de algunos equipos de futbol, y estoy intentando hacer un pequeño panel de administracion para no tener que modificar los datos a mano en mysql.

La funcion del panel que quiero hacer, consistiria, en sumar los datos que yo rellene desde el formulario, a lo existente en mi base de datos.

Puesto que mis conocimientos en php son bastante basicos/nulos, intentaba "hacerlo" de forma similar a como los muestro, es decir, con un while me muestra TODOS los nombres de los jugadores,y los campos los nombro a base de:

Código HTML:
<td  class="nombre" align="left"><? echo $nombre; ?></td>
    <td class="td"><input name="jug<? echo $i; ?>" type="checkbox" value="1"/></td>
    <td class="td"><input name="tit<? echo $i; ?>" type="checkbox" value="1" id="elig" /></td>
    <td class="td"><input name="sup<? echo $i; ?>" type="checkbox" value="1" id="elig" /></td>
    <td class="td"><input name="banq<? echo $i; ?>" type="checkbox" value="1"/></td>
    <td class="td"><input name="nc<? echo $i; ?>" type="checkbox" value="1"/></td>
    <td class="td"><input name="min<? echo $i; ?>" type="text" value="0" size="3" maxlength="3"  /></td>
    <td class="td"><input name="marc<? echo $i; ?>" type="text" value="0" size="3" maxlength="3" /></td>
    <td class="td"><input name="enc<? echo $i; ?>" type="text" value="0" size="3" maxlength="3" /></td>
    <td class="td"><input name="ama<? echo $i; ?>" type="checkbox" value="1" /></td>
    <td class="td"><input name="dama<? echo $i; ?>" type="checkbox" value="1" /></td>
    <td class="td"><input name="rj<? echo $i; ?>" type="checkbox" value="1" /></td> 
La variable $i lo que hace esque me autonumera todas las filas.

Pues bien, he conseguido que me inserte en la base de datos lo que yo escribo en el formulario,pero no he conseguido que me inserte la suma de lo existente y lo que yo pongo en el formulario.

De la siguiente forma "intento" hacer la suma de forma fallida.

Código PHP:
$jug24 $jugados $_POST['jug24'];
$tit24 $titular $_POST['tit24'];
$sup24 $suplente $_POST['sup24'];
$banq24 $banquillo $_POST['banq24'];
$nc24 $noconvo $_POST['nc24'];
$min24 $minutos $_POST['min24'];
$marc24 $golesm $_POST['marc24'];
$enc24 $golesr $_POST['enc24'];
$ama24$am $_POST['ama24'];
$dama24$dam $_POST['dama24'];
$rj24$rj $_POST['rj24'];
$q24 "UPDATE estadistica_liga SET Jugados='$jug24',titular='$tit24',suplente='sup24',noconvo='$nc24',minutos ='$min24',golesm='$marc24',golesr='$enc24',am='$ama24',dam='$dama24',rj='$rj24' WHERE ID=25"
Como observareis, el numero de fila que me generaba la variable $i, lo tengo que poner manualmente, puesto que no se de otra forma.

Espero a ver sido lo mas explicito posible en mi duda/pregunta.

Si el suboforo de php no es el lugar adecuado, ruego me lo muevan, puesto que pensaba que era el lugar adecuado.


Gracias a todo el que lea un post de php escrito desde la ignoracia T_T

Un saludo
  #2 (permalink)  
Antiguo 05/12/2009, 18:59
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

lo que debes hacer es poenr tus variables post en una variable simple y luego sumarla, ejemplo:
$variable=$_POST['jug24'];
$tit24 = $titular + $variable;

saludos...
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 05/12/2009, 20:03
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

Pero la cuestion es que no consigo que me sume lo que ya existe en la db, solo consigo que me introduzca lo que yo escribo en el formulario, sin sumarse, si sirve de algo, el while que hago es

Código PHP:
<? if (mysql_num_rows($res) >= 0) {
//si hay resultados.
while(list($nombre,$jugados,$titular,$suplente,$banquillo,$noconvo,$minutos,$golesm,$golesr,$am,$dam,$rj,$equipo) = mysql_fetch_array($res)) ?>
No se si esque tengo algo mal (que lo habrá), si requeris de algun dato mas, que pueda ser significativo, pedidlo.

Gracias

Un saludo
  #4 (permalink)  
Antiguo 05/12/2009, 21:43
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

primero debes jalar dichos valores con una consulta.

Código PHP:
Ver original
  1. if (mysql_num_rows($res)>0) {
  2.  $fila=mysql_fetch_array($res);
  3. }

y entonces ya sumarias, ejemplo:

$variable=$_POST['jug24'];
$tit24 = $variable + $fila['tucampo1'];

tu resultado por lógica seria $tit24
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 06/12/2009, 08:40
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

Gracias Urgido por prestarme tu tiempo.

A ver si yo me entero...

He probado a sustituir el while por lo que me has puesto, y dejaba de mostrarme datos (como he comentado antes, uso el while para que me muestre el nombre de los jugadores existentes en la base de datos)

Si a continuacion del while, coloco lo que tu me has puesto, en vez de salirme todos los jugadores, solo me salen unos cuantos, exactamente me muestra 13 filas, de 25 que existen en la base de datos.

Como he comentado antes, soy demasiado nuevo en esto de php, me gusta mucho, pero se poco, intento aprender poco a poco.

Una ultima cosilla respecto a tu post, me dice que sume tipo:

$variable=$_POST['jug24'];
$tit24 = $variable + $fila['tucampo1'];

la cuestion es que cuando he visto $fila['tucampo1'], no se realmente que iria entre las comillas.

Gracias

Un saludo
  #6 (permalink)  
Antiguo 06/12/2009, 14:22
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

dame un ejemplo de tu consulta :) donde imprimes algo..
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 06/12/2009, 19:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

De aqui saco las variables de jug, tut etc, te muestro el while completo, con la tabla

Código PHP:
<? $i 0;  ?>
  <?  if (mysql_num_rows($res) >= 0) {
//si hay resultados.
while(list($nombre,$jugados,$titular,$suplente,$banquillo,$noconvo,$minutos,$golesm,$golesr,$am,$dam,$rj,$equipo) = mysql_fetch_array($res)){
 
?>


    <tr class= "<? echo $i ?>" align="center"><FORM ACTION="asd.php" METHOD="post">
    <td  class="nombre" align="left"><? echo $nombre?></td>
    <td class="td"><input name="jug<? echo $i?>" type="checkbox" value="1"/></td>
    <td class="td"><input name="tit<? echo $i?>" type="checkbox" value="1" id="elig" /></td>
    <td class="td"><input name="sup<? echo $i?>" type="checkbox" value="1" id="elig" /></td>
    <td class="td"><input name="banq<? echo $i?>" type="checkbox" value="1"/></td>
    <td class="td"><input name="nc<? echo $i?>" type="checkbox" value="1"/></td>
    <td class="td"><input name="min<? echo $i?>" type="text" value="0" size="3" maxlength="3"  /></td>
    <td class="td"><input name="marc<? echo $i?>" type="text" value="0" size="3" maxlength="3" /></td>
    <td class="td"><input name="enc<? echo $i?>" type="text" value="0" size="3" maxlength="3" /></td>
    <td class="td"><input name="ama<? echo $i?>" type="checkbox" value="1" /></td>
    <td class="td"><input name="dama<? echo $i?>" type="checkbox" value="1" /></td>
    <td class="td"><input name="rj<? echo $i?>" type="checkbox" value="1" /></td>
    <td class="td"><? if ($equipo == 1
    {echo 
'Primer equipo';}
    else{ echo 
'filial';}?></td>
  </tr>

Creo que es esto a lo que te refieres. Aqui lo tengo tal cual, sin añadir lo ultimo que me pusiste, porque no se exactamente donde iria.

Un saludo
  #8 (permalink)  
Antiguo 06/12/2009, 19:48
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

haber se supone que ese incrementador $i te va diciendo los resultados, estamos de acuerdo? ahora bien suponiendo que tienes jug25 esto a que lo quieres sumar?
__________________
Hospedaje Web al mejor costo!
  #9 (permalink)  
Antiguo 06/12/2009, 20:34
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

Ese $i lo que hace es que me va numerando para las variables, es decir, todos los names del formulario de la primera fila de la base de datos le llama "0", la siguiente "1" y asi hasta que se acaban los datos de la tabla.

Ahora, suponiendo que jug25 en el formulario pone 20 (minutos jugados), quiero que se sume a lo que existe en la base de datos, te pongo un ejemplo:

En la base de datos me dice que pepe lleva jugados 30minutos

Y en mi formulario pongo lo siguiente
Nombre Jug (jug25)
Pepe 10

Pues quiero que esos 10 del formulario, se sumen a los 30 existentes en la base de datos. Eso mismo quiero hacer con TODOS los jugadores existentes en la base de datos, y cada uno de los campos de mi formulario.

Es algo lioso, y creo que no lo he planteado bien, puesto que no tengo mucha idea de como plantearmelo.

Un saludo
  #10 (permalink)  
Antiguo 06/12/2009, 20:48
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

fuera del while justo antes de donde cierras tu form agrega estas dos lineas:

<td class="td"><input name="total" type="text" value="<? echo $i; ?>" style="display:none" /></td>
<td class="td"><input name="totalx" type="text" value="<? echo $tmin; ?>" style="display:none" /></td>

* ahora en tu archivo el cual tienes en action agrega esto:

$poster=$_POST['total'];
$posterx=$_POST['totalx'];
$lminutos=$posterx+$poster;
echo "Minutos que se agregarán a la base: ".$lminutos;

abajito de:
while(list($nombre,$jugados,$titular,$suplente,$ba nquillo,$noconvo,$minutos,$golesm,$golesr,$am,$dam ,$rj,$equipo) = mysql_fetch_array($res)){

agrega:
$tmin[]=$i;



Y dime si es lo que quieres. Saludos
__________________
Hospedaje Web al mejor costo!
  #11 (permalink)  
Antiguo 07/12/2009, 21:06
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

He estado probando lo que me pusiste ayer, y me da a mi que algo no he hecho bien, porque ponga lo que ponga, me dice que se van a añadir 25 minutos y realmente no se porque es.

Te agradeceria si te descargaras el archivo, y ojearas mi "chapuza"

w*w.mediafire.com/?mo2mmmqkztv (perdon por poner enlace sin llevar 30 mensajes o 30 dias)

Se que el archivo es una catastrofe por la cantidad de cosas comentadas, y habra cosas, que para el que sepa php vea una burrada.

Muchas gracias
  #12 (permalink)  
Antiguo 08/12/2009, 16:33
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Suma de datos de un formulario, con lo existente en base de datos

Espero no estar molestandote con algo que al menos para mi, parece complejo, y que despues sea una "chorrada"

Un saludo
  #13 (permalink)  
Antiguo 08/12/2009, 16:35
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
checando...

checate este file:

http://www.easy-share.com/1908665683/asd.php
__________________
Hospedaje Web al mejor costo!

Última edición por GatorV; 08/12/2009 a las 17:11
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 17:28.