Foros del Web » Programando para Internet » PHP »

actualizar datos desde varios formularios generados por un ciclo

Estas en el tema de actualizar datos desde varios formularios generados por un ciclo en el foro de PHP en Foros del Web. hola a todos tengo una aplicacion heche en html y php el tema es el siguiente... tego un formulario que dentro de el se generan ...
  #1 (permalink)  
Antiguo 08/05/2012, 14:43
 
Fecha de Ingreso: julio-2011
Ubicación: popayan
Mensajes: 27
Antigüedad: 8 años, 1 mes
Puntos: 4
actualizar datos desde varios formularios generados por un ciclo

hola a todos tengo una aplicacion heche en html y php el tema es el siguiente... tego un formulario que dentro de el se generan varios formularios por un ciclo en los formularios estan una caja de texto llamada cantidad esa cantidad debe restar a la cantidad original que esta en la base de datos cuando hago click en un boton pero esto lo debe hacer por cada formulario que esta en el ciclo solo con un click...nose si explique bn sialguna cosa les dejo el codigo para una mejor guia si alguien sabe como hacerlo porfa una respuesta.



codigo <html>

<p>Lista de productos a vender</p>
<form name="form3" method="post" action="cobrar.php">
<table width="650" border="1">
<tr>
<td width="147">Nombre producto </td>
<td width="159">Medidas</td>
<td width="165">Cantidad</td>
<td width="151">Subtotal</td>

</tr>

<?php
include('configuracion.php');

$link=mysql_connect($sdb,$udb,$cdb);
mysql_select_db($basededatos,$link);
mysql_set_charset("utf8",$link);
$sql=mysql_query("SELECT p.nombre,m.medidas,m.precio,m.idmedidas,v.total,v. idventas from producto p,medidas m,ventas v where hora='00:00:00' and p.codigo=v.codigo and m.idmedidas=v.idmedidas",$link);
while($resultado=mysql_fetch_array($sql)){
$total=$resultado['total'];
$precio=$resultado['precio'];
$cantidad=$total/$precio;
?>
<tr>
<input type="hidden" name="idmedidas" value="<?php echo $_POST['idmedidas'].$resultado['idmedidas'];?>">
<input type="hidden" name="idventas" value="<?php echo $_POST['idventas'].$resultado['idventas'];?>">
<td><?php echo $resultado['nombre'];?></td>
<td><?php echo $resultado['medidas']; ?></td>
<td><input type="text" name="cantidad" value="<?php echo $cantidad; ?>" ></td>
<td><input type="text" name="total" value="<?php echo $total ?>"></td>
<td><input type="submit" name="crear4" value="Cancelar"></td> </tr>
<?php
}
?>

</table>
<p>
<input type="submit" name="crear3" value="Cobrar">
</p>
</form>



//----------------------------------------------------------------------------------------------------//

codigo php

<?php
$cantidad=$_POST['cantidad'];
$idmedidas=$_POST['idmedidas'];

$link=mysql_connect($sdb,$udb,$cdb);

$sql3=mysql_query("SELECT m.cantidad from medidas m where idmedidas='$idmedidas'");
while($resp=mysql_fetch_array($sql3)){
$resta=$resp['cantidad']-$cantidad;
$my_error=mysql_error($link);
if(!empty($my_error)){
echo"Ha habido un error al insertar los valores. $my_error";
}


else{

$link=mysql_connect($sdb,$udb,$cdb);
mysql_select_db($basededatos,$link);
$sql7= mysql_query("UPDATE medidas SET cantidad='$resta' WHERE idmedidas = '$idmedidas'",$link);
}
}
?>
  #2 (permalink)  
Antiguo 09/05/2012, 23:07
 
Fecha de Ingreso: julio-2011
Ubicación: popayan
Mensajes: 27
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: actualizar datos desde varios formularios generados por un ciclo

hola todos he esperado alguna repuesta pero no la he recibido aun sera que lo que estoy intentando hacer no se puede?
  #3 (permalink)  
Antiguo 10/05/2012, 01:29
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 477
Antigüedad: 7 años, 4 meses
Puntos: 97
Respuesta: actualizar datos desde varios formularios generados por un ciclo

Hola.
Tal y como lo planteas, no son varios froms. Hay un solo from, con una tabla dentro y varias filas de campos, con lo que al darle al submit, sea cual sea, le envia todos los inputs al servidor. Una vez en el servidor, como hay names (idmedidas,idventas,cantidad..) repetidos, te los va adevolver en formato array.$_POST[0][idmedidas], $_POST[1][idmedidas].....

Saludos



saludos.
  #4 (permalink)  
Antiguo 10/05/2012, 12:01
 
Fecha de Ingreso: julio-2011
Ubicación: popayan
Mensajes: 27
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: actualizar datos desde varios formularios generados por un ciclo

gracias oscartt67 pero como hago para que me esos inputs logre actualizar los datos...ps nose que hacer a continuacion...
  #5 (permalink)  
Antiguo 10/05/2012, 13:06
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 7 años, 5 meses
Puntos: 23
Respuesta: actualizar datos desde varios formularios generados por un ciclo

ok.. vamos a ver.

ejemplo:

Se imprimieron 10 registros(filas , formularios, renglones, como quieras llamarlos)
se ingresa 5 en el input cantidad del registro 1 (zapatillas)
en tu base de datos figura que tienes en stock (almacenados, guardados , disponibles) 40 zapatillas
en la base de datos debe ser restado 40-5 al momento que se ingrese la cantidad o se presione un boton(no tiene sentido hacerlo con un boton q no sea submit)

estoy bien en eso?

si es lo que piensas nesitarias utilizar ajax, ya de lo contrario necesitarias recargar toda la pagina cada vez que ingreses una cantidad.

no seria mejor hacer la resta una vez que se haya enviado el formulario?

utilizando los datos que te dio oscartt67
  #6 (permalink)  
Antiguo 10/05/2012, 16:54
 
Fecha de Ingreso: julio-2011
Ubicación: popayan
Mensajes: 27
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: actualizar datos desde varios formularios generados por un ciclo

hola amigos gracias por responder veo que hackghost tiene claro lo que necesito pero bueno lo que pasa es que soy muy novato en estos temas y no se utilizar ajax, ahora si entendi lo que debo hacer es traer los datos guardados em mi base de datos y restarlo en el mismo formulario y luego enviarlo es asi?

Etiquetas: formulario, generados, html, mysql, sql, ciclos
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 10:09.