Creo que estas formando una tormenta en un vaso de agua, y creo que la manera como estas manejando los datos para almacenarlos en la BD es incorrecta, porque si lo que quieres es guardar las opciones que el usuario a elegido el
REPLACE no es la mejor opción, por que si el mismo usuario elije mas de una opción lo que te va hacer es a tomar el ultimo mas no todas la opciones que el usuario a elegido ya que lo que hace es sobrescribir y la mejor opción seria el
INSERT. ya que si necesitas mostrar las opciones que el usuario a elegido solo te mostrara una, y si el usuario eligió tres no se te mostraran. y para implementarlo a tu manera no es nada complicado si lo que quieres es ponerlo en una pagina solo tienes que hacer esto:
Código PHP:
Ver original<?php
/** conexion ***************************/
$link = mysql_connect('localhost', 'root', ''); // conectamos a la base de datos if(!$link) { // si no se conecta que mande error
}
$db_link = mysql_select_db('prueba', $link); // seleccionamos la base de datos if(!$db_link) { // si no selecciona la BD que mande error
}
/** fin conexion ************************/
include 'conection.php';
if(isset($_REQUEST["ingresar"]) && $_REQUEST["ingresar"] == "Ingresar"){ $textos = $_REQUEST['norm'];
$anios = $_REQUEST['anio'];
for ($i=0;$i<count($textos);$i++){ $cedula = "901215847584";
if($anios[$i]!=0)
{
$insertSQL = mysql_query("REPLACE INTO coco (identificacion, id_progsocial, ano) VALUES ('$cedula','".$textos[$i]."','".$anios[$i]."')", $link) or
die(mysql_error()); }
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
</head>
<body>
<form action="" method="post" name="form1" id="form1">
<?php
?>
<input name="norm[]" type="checkbox" value="<?php echo $Mostrar['Valor']; ?>"><?php echo $Mostrar['Nombre']; ?>
<input name="anio[]" type="text" /><br />
<?php
}
?>
<input id="input" type="submit" name="ingresar" value="Ingresar" />
</form>
</body>
</html>
NOTA: REPLACE funciona exactamente como INSERT, excepto que si un valor de la tabla tiene el mismo valor que un nuevo registro para un índice PRIMARY KEY o UNIQUE , el antiguo registro se borra antes de insertar el nuevo. Tenga en cuenta que a menos que la tabla tenga un índice PRIMARY KEY, o UNIQUE usar un comando REPLACE no tiene sentido. Es equivalente a INSERT, ya que no hay índice para determinar si un nuevo registro duplica otro.