Update de varios campos con un array

Iniciado por Catacrocker, 22 Mayo 2012, 13:16 PM

0 Miembros y 1 Visitante están viendo este tema.

Catacrocker

Buenas a todos, ya se que a priori parece que mi problema es de BBDD pero no.
Tengo un formulario el cual se crea dinamicamente con un bucle while, para mostrar los datos de un mismo articulo almacenados en la BBDD. Almaceno todos los valoers de los input en una array, tal que asi:

<?php
while($resul_hiscalib=mysql_fetch_array($consu_hiscalib)){ ?>


<tr align="center">
<td>
<input size="8%" type="text" name="calib_his[]" value="<?php echo $resul_hiscalib[17]; ?>" />
</td>
<td>
<input style="text-align: center;" size="8%" type="text" name="calib_his[]" value="<?php echo strftime("%d-%m-%Y",strtotime($resul_hiscalib[2])); ?>" />
</td>
<td>
<input style="text-align: center;" size="25%" type="text" name="calib_his[]" value="<?php echo $resul_hiscalib[3]; ?>" />
</td>
<td>
<input style="text-align: center;" size="6%" type="text" name="calib_his[]" value="<?php echo $resul_hiscalib[16]; ?>" />
</td>
<td>
<input style="text-align: center;" size="8%" type="text" name="calib_his[]" value="<?php echo strftime("%d-%m-%Y",strtotime($resul_hiscalib[7])); ?>" />
</td>


Y continua...

El caso es que en mi array se almacenan todos los datos...no differencia por linea ni nada paraa que en el update de la otra pagina yo pueda poner los campos y se vayan ejecutando.

aqui dejo la sentencia SQL de la otra pagina:

if($query=mysqli_prepare($link,"UPDATE HISCALIBRACION SET Fecha=?,Actuacion=?,InfExterno=?,Tecnico=?,Labexterno=?,`Proxima actuacion`=?,Coste=?,Dedicacion=?,Duracion=?,Incertidumbre=?,K=?,Imax=?,Tmin=?,Estado=?,`Num Informe`=? where Referencia=? and Serie=?;"))
{
foreach($_REQUEST['calib_his'] as $item){
if($_REQUEST['calib_his']!=""){
echo $_REQUEST['calib_his']."<br />";
/*mysqli_stmt_bind_param($query, "sssssssssssisssssi",$item,$referencia,$_REQUEST['datos_tec_old'][$posicion]
);
mysqli_execute($query);

if (mysqli_stmt_affected_rows($query)==-1) { $error_repetido=true; };

//printf("%d Row inserted.\n", mysqli_stmt_affected_rows($query));
//printf("%d \n",$posicion);


} else {
$error_hay_blanco=true;
}*/

$_REQUEST['calib_his']="";
}
}}}
die();


Como ven he estado realizando muchas pruebas y demas para conseguir sacar algo. Inutil, lo unico que consigo es mostrar todos los campos seguidos, algo que me es completamente inutil ya que los quiero uno a uno para poder realizar el update.

Alguna idea? A ver si no lo tengo que solucionar yo como siempre me pasa xD

Catacrocker

Bueno pues para no perder la comba lo he arreglado yo, un array para cada campo en el formulario y punto.