Por ejemplo si en mi tabla (donde tengo los resultados obtenidos de una consulta)
Tengo lo siguiente:
NO ID NOMBRE VERIFICAR HORA
1 001 XXXX AQUI UN CHECK
2 002 YYYY AQUI UN CHECK
Funciona asi, si en mi form Busqueda se introduze el ID 002 se marca ese check y aparece la hora en que se hallo o marco el check
solo que al momento de insertarlo en mi base de datos no respeta la posicion del check cuyo valor es "bien"
En cambio si inserto el check activo en los dos registros no hay problema, de igual forma al marcar el primer chechk queda en el registro correcto....
Vizualmente este es el error al marcar el segundo check
(bien queda a la altura del primero y va en el segundo)
En el primer caso en mi base quedaria algo asi
NO ID NOMBRE VERIFICAR HORA
1 001 XXXX bien
2 002 YYYY 10:00
este es mi form busqueda
Código PHP:
<form id="form1" name="form1" method="POST" >
<label style="font-size:14px">ID:
<input type="text" name="ID" id="ID" onKeyPress="return disable_enter(event)">
</label>
<label>
<input type="button" name="buscar2" value="Buscar" onClick="marcar();" />
</label>
</form>
ESTA ES MI TABLA (CON VALORES DE UNA CONSULTA)
Código PHP:
<table border="0" >
<thead>
<tr>
<td></td>
<td>ID</td>
<td>NOMBRE</td>
<td>Estatus</td>
<td>Hora</td>
</tr></thead>
<?php do { ?>
<tbody>
<tr>
<td ><?php $i+=1; echo $i;?></td>
<td><div align="left"><?php echo $row['clave']; ?></div> <input name="clave[]" value="<? echo $row['clave'];?>" hidden> </td>
<td><div align="left"><?php echo $row['Nombre']; ?></div> <input name="nombre[]" value="<? echo $row['nombre'];?>" hidden></td>
<td >
<input type="text" id="hora1<? echo $row['ID'];?>" name="hora1[]" value="" size="5" style="background-color:#CCC; border:hidden"><br/>
</td>
<td >
<input name="aplica[]" value="bien" type="checkbox" <?php if($row['ID'] == $_POST['ID']) echo "checked='checked' "; ?> id="check<? echo $row['ID'];?>" class="check" /></td>
</tbody>
<?php } while ($row= mysql_fetch_assoc($row)); ?>
</table>
AQUI INSERTO
Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
foreach($_POST["nombre"] as $key => $value){
$insertSQL = sprintf("INSERT INTO estatus(ide, estatus, hora) VALUES (%s,%s,%s)",
GetSQLValueString($_POST['nombre'][$key], "text"),
GetSQLValueString($_POST['aplica'][$key], "text"),
GetSQLValueString($_POST['hora1'][$key], "text"));
mysql_select_db($database_connection, $connection);
$Result1 = mysql_query($insertSQL, $connection) or die(mysql_error());
}
}
Pues inserta los registros el problema es ese
si activo el check del registros 2 (si el resultado de mi consulta arrojo 2 registros)
en estatus (valor del check aplica)
el valor del check "bien" queda en el primer registro, la hora queda bien en el segundo
GRACIAS POR SU AYUDA