Todo va perfecto salvo cuando en el formulario introduzco un checkbox para pasarle el valor 0 ó 1 a la BD.
He probado de dos maneras (con dos resultados distintos) pero no consigo obtener lo que quiero.
El código ha sido generado con DW, pero ha sido ligeramente adaptado a mis necesidades
Este es el código que uso:
Código PHP:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
foreach($_POST['input'] as $key => $val){
$insertSQL = sprintf("INSERT INTO tabla (input, check) VALUES ($val, %s)",
GetSQLValueString(isset($_POST['check']) ? "true" : "", "defined","1","0"));
mysql_select_db($database_db, $db);
$Result1 = mysql_query($insertSQL, $db) or die(mysql_error());
}
}
<body>
<form id="form" name="form" method="post" action="<?php echo $editFormAction; ?>"
<table>
<tr>
<td>input 1</td>
<td>
<input type="text" name="input[]" value="" />
</td>
<td align="center" valign="middle">
<input name="check[]" type="checkbox"/>
</td>
</tr>
<tr>
<td>input 2</td>
<td>
<input type="text" name="input[]" value="" />
</td>
<td align="center" valign="middle">
<input name="check[]" type="checkbox"/>
</td>
</tr>
<tr>
<td>input 3</td>
<td>
<input type="text" name="input[]" value="" />
</td>
<td align="center" valign="middle">
<input name="check[]" type="checkbox"/>
</td>
</tr>
<tr>
<input type="hidden" name="MM_insert" value="form" />
<input type="submit" value="Insertar" />
</tr>
</table>
</form>
</body>
Con esta pequeña modificación que le hice al código, el resultado es distinto, pero tampoco es válido:
Código PHP:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
foreach($_POST['input'] as $key => $val){
$insertSQL = sprintf("INSERT INTO tabla (input, check) VALUES ($val, %s)",
GetSQLValueString($_POST['check'][$key], "int"));
mysql_select_db($database_db, $db);
$Result1 = mysql_query($insertSQL, $db) or die(mysql_error());
}
}
<body>
<form id="form" name="form" method="post" action="<?php echo $editFormAction; ?>"
<table>
<tr>
<td>input 1</td>
<td>
<input type="text" name="input[]" value="" />
</td>
<td align="center" valign="middle">
<input name="check[]" type="checkbox" value="1"/>
</td>
</tr>
<tr>
<td>input 2</td>
<td>
<input type="text" name="input[]" value="" />
</td>
<td align="center" valign="middle">
<input name="check[]" type="checkbox" value="1"/>
</td>
</tr>
<tr>
<td>input 3</td>
<td>
<input type="text" name="input[]" value="" />
</td>
<td align="center" valign="middle">
<input name="check[]" type="checkbox" value="1"/>
</td>
</tr>
<tr>
<input type="hidden" name="MM_insert" value="form" />
<input type="submit" value="Insertar" />
</tr>
</table>
</form>
</body>
Espero haberme explicado bien y que sepáis ayudarme a solucionar este problema. He buscado bastante por internet, pero no consigo dar con la solución.
No dudéis en pedirme cualquier aclaración sobre lo que he escrito aquí.