Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/12/2011, 12:51
jcgrour
 
Fecha de Ingreso: diciembre-2011
Ubicación: Ourense España
Mensajes: 10
Antigüedad: 12 años, 4 meses
Puntos: 0
checkbox y mysql

Buenas, soy nuevo por aqui y desearia enviar un saludo de bienvenida.

Ahora al grano:
He creado un php en el que traigo de una base de datos los datos correspondientes para un chequeo.
Los traigo de una seleccion "ref_pcb" añado operario y idi y devuelve el resto de los campos
Al traerlos le asigno una casilla de checkbox de forma que se pueda marcar o no marcar.
El problema surge que cuando envio los datos de vuelta a mysql, si solo he marcado una o varias casillas, devuelve un valor "ok" para todas las casillas y en cambio si no marco ninguna entonces devuelve un valor " " para todas las casillas. Es decir no diferencia las marcadas de las no marcadas.
Muchas gracias anticipadas por vuestra ayuda

Este es el codigo


<form action="usargama.php" method="post" id=”formulario” name=”formulario”>

<table >
<tr>
<?php $operario = (isset($_POST['operario']))?$_POST['operario']:""; echo "Operario: <input type='text' value='$operario' name='operario' id='operario' />"; ?><BR>
</tr>
<td align="center" ><b><font color="black" >REFERENCIA: </font> </b> </td>
<tr>
<td align="center">

<select name="ref_pcb">
<?php

$link = mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("fabricacion", $link);

$result = mysql_query("SELECT distinct(ucase(ref_pcb)) ref_pcb FROM gama_calidad", $link);

if ($row = mysql_fetch_array($result)){
do {
$valor=$row["ref_pcb"];
echo "<option value='$valor'> $valor </option>";
} while ($row = mysql_fetch_array($result));
}
?>

</select>
<tr>
<?php $idi = (isset($_POST['idi']))?$_POST['idi']:""; echo "Idi: <input type='text' value='$idi' name='idi' id='idi' />"; ?><BR>
</tr>
<tr>
<td align="center"> <input type="submit" value="Ejecutar" name="ejecutar" id="ejecutar" /> </td>
</tr>
<tr>
<td align="center"><br> </td>
</tr>

</table>


</td>

<?php
$ref_pcb = (isset($_POST['ref_pcb']))?$_POST['ref_pcb']:"";
$idi = (isset($_POST['idi']))?$_POST['idi']:"";
$host_db = "localhost"; // Aquí pones el servidor mysql
$usuario_db = "root"; // Aquí el nombre de usuario de la base de datos
$pass_db = ""; // La contraseña de la base de datos
$base_db = "fabricacion"; // El Nombre de la base de datos, que previamente habiamos definido
$coneccion = mysql_connect($host_db, $usuario_db, $pass_db);
mysql_select_db($base_db, $coneccion);
$select = "select * from gama_calidad where ref_pcb LIKE '$ref_pcb'";
$resultados = mysql_query($select, $coneccion);
$cantresult = mysql_num_rows($resultados);
$ok = $_POST['ok'];
$operario = $_POST['operario'];
$result = $_POST['result'];
//$sql = "INSERT INTO resultados (ref_pcb ref_elec descripcion ok idi operario) ";
//$sql .= "VALUES ( '".$ref_pcb."', '".$row[1]."', '".$row[2]."', '".$ok."', '".$idi."', '".$operario."')";




echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td><b>Referencia electrica </b></td> \n";

echo "<td><b>Descripcion </b></td> \n";

echo "<td><b>ok </b></td> \n";

echo "</tr> \n";

while ($row = mysql_fetch_row($resultados)){



echo "<tr> \n";

echo "<td>$row[1]</td> \n";

echo "<td>$row[2]</td> \n";

echo "<td><input name='ok[]' type='checkbox' value='ok' /></td> \n";
$ok='ok';
echo "</tr> \n";

if(isset($_POST['result']) && !empty($_POST['result']))
{
$sql = "INSERT INTO resultados (ref_pcb, ref_elec, descripcion, ok, idi, operario)";
$sql .= "VALUES ( '".$ref_pcb."','".$row[1]."', '".$row[2]."', '".$ok."', '".$idi."', '".$operario."')";
$result = mysql_query( $sql);

$my_error = mysql_error($link);

if(!empty($my_error)) {

} else {
echo "Los datos han sido introducidos satisfactoriamente";
}
} else {

}



}

echo "</table> \n";



?>
<?php ?>
<tr>
<td align="center"> <input type="submit" value="Grabar" name="result" id="result" /> </td>
</tr>
</form>