Foros del Web » Programando para Internet » PHP »

Update de Varios registros de varios Forms !!!

Estas en el tema de Update de Varios registros de varios Forms !!! en el foro de PHP en Foros del Web. Hola gente !!! Lo que quiero hacer es hacer un update que me genera una consulta de varios datos, es que parece como varios forms ...
  #1 (permalink)  
Antiguo 01/04/2009, 10:08
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Update de Varios registros de varios Forms !!!

Hola gente !!!
Lo que quiero hacer es hacer un update que me genera una consulta de varios datos, es que parece como varios forms que salen de uno, ya que el while donde consulto queda fuera de <form> </form>.

Aca dejo una Foto para que se vea el ejemplo, lo que tengo que hacer es que cuando apreto un boton aceptar, se me actualiza solo el registro que le apreto el boton, es logico ya que es como que actualizo solo ese form, como se puede hacer para que me actualice todos los forms, asi de esa manera puedo actualizar todos los datos !!!

Saludos, Ricardo !!!



Parte del Codigo como tomo los datos
Código PHP:
$piezas = mysql_query("select * from piezas where cod_pieza between '21' and '35' order by cod_pieza" , $conexion);
$dolar=mysql_query("select valor from valor_dolar where codigo='1'" , $conexion) or  
die("Problemas en el select:".mysql_error());
$resu_dol=mysql_fetch_array($dolar);
while ($resu_piezas = mysql_fetch_array($piezas)){ //Recorro la tabla Piezas !!!

?>

<!-- //////////////////////////////////////////////////////////////////////////////////// -->


<form id="form" name="form" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">

<input name="ok" id="ok" src="botones/aplicar.png" type="image" value="Aplicar"/>

<input type="text" size ="8" name="precio_form_pesos_<?echo $nro_form?>"> 
<input type="text" size ="8" name="precio_form_dolar_<?echo $nro_form?>"> 

</form>

Codigo como muestro los datos:
Código PHP:
$i=0;

$resul mysql_query("select * from piezas where cod_pieza between '21' and '35' order by cod_pieza");
    
    while(
$rows=mysql_fetch_array($resul))
    { 
    echo 
$rows['codigo']; echo " ";
    echo 
$rows['cod_pieza']; echo " ";
    echo 
$rows['nombre']; echo " ";
    echo 
$_POST["precio_form_pesos_$i"]; echo " ";
    echo 
$_POST["precio_form_dolar_$i"]; echo "<br>";

      
mysql_query("update piezas set precio_pesos='".$_POST["precio_form_pesos_$i"]."',
                                 precio_dolar='"
.$_POST["precio_form_dolar_$i"]."'
  where cod_pieza='$rows[cod_pieza]'"
,$conexion) or
       die(
"Problemas en el update:".mysql_error());
$i++;
    } 
Gracias, ahi les deje algo de codigo para que vean, a ver si puedo terminar de solucionar esto !!!!!!!!

Saludos, Ricardo !!!!
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 01/04/2009, 10:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Hola colote,

Lamentablemente no es posible, y esto no es por PHP es diseño de los browsers, solo envian un <form> cada vez, no envian todos los <form> en una pagina web.

Saludos.
  #3 (permalink)  
Antiguo 01/04/2009, 10:48
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Update de Varios registros de varios Forms !!!

Gracias por tu respuesta GatorV
Y de alguna otra manera no se puede hacer ?, asi puedo actualizar una lista de articulos y precios ...
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 01/04/2009, 10:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Pon todo en un mismo <form> y así se enviaran todos los campos.

Saludos.
  #5 (permalink)  
Antiguo 01/04/2009, 11:05
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Update de Varios registros de varios Forms !!!

Es que esta todo en el mismo form, pasa que como la consulta del while queda fuera del <form>, por eso es como que genera varios forms en la consulta ...

Saludos !!!
__________________
Mail: [email protected]
  #6 (permalink)  
Antiguo 01/04/2009, 11:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Pues no hay forma entonces a menos que cambies el while de tu programación:
Código php:
Ver original
  1. echo '<form>';
  2. while( /** cosas **/ ) {
  3.      echo 'inputs..';
  4. }
  5. echo '</form>';

Saludos.
  #7 (permalink)  
Antiguo 01/04/2009, 11:18
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Update de Varios registros de varios Forms !!!

Y porque otra cosa lo puedo cambiar el while ?

Gracias !!!
__________________
Mail: [email protected]
  #8 (permalink)  
Antiguo 01/04/2009, 11:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

No es cambiar el while es cambiar la forma en que generas el HTML, tal como te indique en mi post anterior.

Saludos.
  #9 (permalink)  
Antiguo 01/04/2009, 11:32
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Update de Varios registros de varios Forms !!!

Ahora te hago una pregunta, a ver si se puede.
Como a mi me anda para actualizar formularios de a 1, pienso en que si se puede hacer una funcion tipo automatica que pase los formularios 1 a 1 y haga una update, se podra o estoy soñando ???

Saludos !!!
__________________
Mail: [email protected]
  #10 (permalink)  
Antiguo 01/04/2009, 11:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Puedes usar AJAX para eso en el lado del cliente.

Saludos.
  #11 (permalink)  
Antiguo 01/04/2009, 11:45
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Update de Varios registros de varios Forms !!!

Hola, pues claro que puedes actualizar varios registros,
solo tienes que setear el nombre en array de las cajas de texto a actualizar por ejemplo

<input type="text" name="precio[]" >

y luego al actualizar recuperas los valores con un bucle

y haces la respectiva actualizacion...

saludos.
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #12 (permalink)  
Antiguo 01/04/2009, 11:50
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Con respecto a AJAX, me vuela los pelos, dicen que es facil, pero prefiero romperme el coco asi :P

Eso lo probe, pero no me arroja resultados, voy a probar de nuevo...

Y desde javascript, tienen idea si se puede asignar valores a un array del tipo <input type="text" name="precio[]" > asi despues desde PHP puedo acceder a los valores del array ??

Saludos, Ricardo !!!
__________________
Mail: [email protected]

Última edición por GatorV; 01/04/2009 a las 14:47
  #13 (permalink)  
Antiguo 01/04/2009, 14:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

"Desde Javascript asignar" claro que es posible:
Código javascript:
Ver original
  1. document.forms['tuform'].elements['precio[]'].value = 'foo';

Saludos.
  #14 (permalink)  
Antiguo 02/04/2009, 05:03
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Muy bueno eso GatorV, lo pude hacer andar, me carga todos los precios en el mismo input, pero cuando quiero tomar ese dato, lo tomo como echo $_POST["precio"][0]; pero solo me imprime el ultimo dato, que es el que queda viendose en el input ... Como tendria que pasarlo para que en esa variable se me almacenen todos los datos ?

Saludos !!!

Aca dejo bien como hago todo,

Desde javascript los tengo asi ...

Código PHP:
document.forms['form'].elements['precio[]'].value gral_desc_1s.toFixed(2); 
y en php los tomo asi:
Código PHP:
<input type="text" size="10" name="precio[]"
Y cuando los muestro solo me muestra el ultimo, pero cuando se carga la pagina se ven que pasan uno a uno sobre el mismo input todos los datos. O sea que seria logico que en $_POST es en que se ve en el input no ?

Cuando los muestro , los muestro asi (que saque de este foro)
Código PHP:
foreach($_POST['precio'] as $clave=>$valor)
echo 
"\$_POST['precio']['$clave']='$valor';<br>"
Algo estoy haciendo mal ?

Saludos !!!
__________________
Mail: [email protected]

Última edición por GatorV; 02/04/2009 a las 09:28
  #15 (permalink)  
Antiguo 02/04/2009, 09:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Agrega un identificador, también es perfectamente valido hacer:
Código html:
Ver original
  1. <input type="text" name="precio[0]" />
  2. <input type="text" name="precio[1]" />
  3. <input type="text" name="precio[2]" />

Así desde Javascript los puedes distinguir y desde PHP también.

Saludos.
  #16 (permalink)  
Antiguo 02/04/2009, 10:00
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Update de Varios registros de varios Forms !!!

Hola GatorV, por ahi vi que se podia con JSON tambien, asique me puse a intentarlo, ya lo pude pasar desde javscript a json, lo que no puedo es imprimirlo en PHP.

Lo tengo asi en javascript:
Código:
  var obj={precio : preciojs};
  var cadena=obj.toJSONString();
Y asi en PHP:

Código PHP:
require('json.php');

$json=new Services_JSON();
$cad=$json->decode(stripslashes($_POST['cadena']));

echo 
'<br>';
echo 
'Primero:'.$cad->precio[0];
echo 
'<br>';
echo 
'Segundo:'.$cad->precio[1];
echo 
'<br>';
echo 
'Tercero:'.$cad->precio[2];
echo 
'<br>'
Esta bien esto ?
__________________
Mail: [email protected]
  #17 (permalink)  
Antiguo 02/04/2009, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Pues en teoria si envias un array si debería de poderse, pero creo te estas complicando en exceso, lo mejor es enviar el array directo, JSON se usa más cuando se envia por AJAX.

Saludos.
  #18 (permalink)  
Antiguo 03/04/2009, 05:04
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Hola GatorV, como va todo ? Yo aca tratando de resolver este drama jejejeje !!!
Bueno logre pasar los datos de javascript a json y de json a php, pero sabes que?
Solo me toma el ultimo dato del array !!!!!!!
No se que es lo que esta pasando y me estoy volviendo locooo jejejeje !!!
Si pongo en javascript alert(cadena) , me imprime 1 a 1 todos los datos del array., pero solo me toma el ultimo, tal cual lo hacia antes mandando el array desde js a php por medio el input type="hidden" name="precio[]" ...

Saludos !!!

Hola GatorV !!!! Ahi descubri el error !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Estaba poniendo mal la asignacion en javascript !!!
Ahora lo puse asi :

Código PHP:
var preciojs = new Array();
preciojs[fmc] = gral_desc_1s.toFixed(2);
document.forms[fmc].elements['precioss[]'].value preciojs
Y con el JSON tambien me anduvo !!!

Pasa que si apreto el boton del formulario, tendria que apretar el ultimo, ya que es el que alamacena el contenido total del array, con respecto a hacerlo con json, ya me desglosa los datos 1 x 1 sin tener que apretar nada, es tipo automatico !!!

Saludos, Ricardo !!!
__________________
Mail: [email protected]

Última edición por GatorV; 03/04/2009 a las 09:27
  #19 (permalink)  
Antiguo 03/04/2009, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Update de Varios registros de varios Forms !!!

Perfecto, me alegra que lo hayas podido solucionar.

Saludos
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 21:53.