Comunidad de diseño web y desarrollo en internet online

Actualizar varios campos

Citar            
MensajeEscrito el 31 Mar 2011 02:34 am
Buenas,

Hay alguien que tenga algun ejemplo que sirva para actualizar varios campos a la misma ves? He seguido varios tutoriales pero ninguno sirve.

Estuve intentando varias veces pero al parecer no funciona, hay una seccion de codigo en especial que no funciona.

Código PHP :

 <form id="form1" name="form1" method="POST" action="update.php">
                <table width="640" border="1" cellspacing="0" cellpadding="0">
                  <tr id="contenidohoy">
                    <td width="94">Numero Cliente</td>
                    <td width="228">Nombre</td>
                    <td width="63">Ubicacion</td>
                    <td width="87">Agente</td>
                    <td width="73">Preventa</td>
                    <td width="81">Dia Display</td>
                  </tr>
                  <?php $i = 0; do { ?>
                  <tr id="contenidohoycentrado">
                    <td><label for="clientetabla"></label>
                      <input name="clientatabla<?php echo $i;?>" type="text" id="clientatabla<?php echo $i;?>" value="<?php echo $row_select['CLIENTE'];?>" size="10" readonly="readonly" /></td>
                    <td><label for="nombretabla2"></label>
                      <label for="nombretabla"></label>
                      <textarea name="nombretabla<?php echo $i;?>" cols="30" rows="2" readonly="readonly" id="nombretabla<?php echo $i;?>"><?php echo $row_select['NOMBRE'] ; ?></textarea></td>
                    <td><label for="ubicaciontabla"></label>
                      <input name="ubicaciontabla<?php echo $i;?>" type="text" id="ubicaciontabla<?php echo $i;?>" value="<?php echo $row_select['UBICACION']; ?>" size="4" maxlength="3" /></td>
                    <td><label for="agentetabla"></label>
                      <input name="agentetabla<?php echo $i;?>" type="text" id="agentetabla<?php echo $i;?>" value="<?php echo $row_select['AGENTE']; ?>" size="12" maxlength="12" /></td>
                    <td><label for="preventatabla"></label>
                      <input name="preventatabla<?php echo $i;?>" type="text" id="preventatabla<?php echo $i;?>" value="<?php echo $row_select['PREVENTA']; ?>" size="8" maxlength="8" /></td>
                    <td><label for="displaytabla"></label>
                      <input name="displaytabla<?php echo $i;?>" type="text" id="displaytabla<?php echo $i;?>" value="<?php echo $row_select['DISPLAYDIA']; ?>" size="8" maxlength="8" readonly="readonly" /></td>
                  </tr>
                  <?php ++$i; } while ($row_select = mysql_fetch_assoc($select)); ?>
                </table>
                <p>
                  <label for="valor"></label>
                  Cantidad de Rutas:
                  <input name="valor" type="text" id="valor" value="<?php echo $i?>" size="2" maxlength="2" readonly="readonly"/>
                </p>
                <p>
                  <input type="submit" name="button" id="button" value="Actualizar" />
                </p>
              </form>


Con eso lo que hago es mostrar el select en una tabla con con campos de texto para que el usuario pueda modificar el texto, este form llama a "update.php"

por el momento update.php solo contiene un bucle para que me muestre el valor de cada posicion por ejemplo

Código PHP :

<?php
$size = $_POST['valor'];//dice cuantas filas hay

$i = 0;
while ($i < $size) {

$ubicacion= $_POST['ubicaciontabla'][$i];
echo 'ubicacion de tabla: ', $ubicacion,'<br />';

++$i;
}

?>


Con esto ($ubicacion= $_POST['ubicaciontabla'][$i];) quiero que me imprima lo que hay en ubicacion tabla en la posicion $i pero no lo esta mostrando, en cambio si pongo ($ubicacion= $_POST['ubicaciontabla2'];) me muestra lo que tiene el campo de texto ubicaciontabla2.

Estoy haciendo algo mal? como puedo hacer para que me imprima el valor de cada campo dependiendo de la posicion $i?

Muchas gracias

Por pelonms7

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 Mar 2011 04:54 am
tienes un problema de conceptos
Primero $_POST['ubicaciontabla'][2] es distinto de $_POST['ubicaciontabla2']

Se refiere a dos campos distintos, deberias a los campos de texto, ponerle como name="ubicaciontabla[]"

Y eso irá generando un arreglo por cada campo que exista, o lo otro que podrias hacer,para solucionar el problema a la rapida es esto

Código PHP :

$ubicacion= 'ubicaciontabla'.$i; 
echo 'ubicacion de tabla: ', $_POST[$ubicacion],'<br />'; 



Lo anterior, dentro del ultimo while que escribiste


saludos y espero que te sea de utilidad

Por sebifrost

61 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Mar 2011 04:35 pm
Efectivamente, como ha dicho sebifrost, estás confundido con lo que generas dinámicamente en el formulario y lo que esperas recibir.
Ante la duda de qué realmente te llega en el $_POST, puedes hacer:

Código PHP :

echo "<pre>";
var_dump($_POST);
echo "</pre>";

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 01 Abr 2011 06:02 am
Grandes maestros me salvaron... MUCHISIMAS GRACIAS!!!

Por pelonms7

33 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.