Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/11/2009, 09:59
yovrod
 
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problemas con check en PHP y MySql

Como lo dije anteriormente me resulta extraño que no hubiese solución, sin embargo entre al foro porque pensé que alguien había pasado por esto y de alguna manera lo había solucionado, pues yo si, con pura programación, que aunque tal vez no se la más adecuada me es funcional y se las dejo para contribuir por si alguien tiene el mismo problema.

Primero: Como no podía obtener el valor del CHECKBOX en mi FORM con PHP, primero hice un IF para tomar la opcion de seleccionado o no según el dato obtenido de la base de datos de esta forma

if ( $row["activo"]==1){
echo "<td><font face=arial size=2><h0 style=color:blue>Activo</td><td><input type='checkbox' name='chk_activo' value='". $row["activo"]."' checked><br></td></tr>";
}
else{
echo "<td><font face=arial size=2><h0 style=color:blue>Activo</td><td><input type='checkbox' name='chk_activo' value='0' ><br></td></tr>";
}

Segungo: Creo un campo invisible solo para manejar el valor de la base de datos y así enviarlo al POST de este FORM (esto no altera el FORM ni la vista del usuario):

echo"<br>";
echo "<div id='activo' style='position: absolute; left: 240px; top: 100px; visibility: hidden;' align='left'>";
echo"<input type='textarea' id='activo' name='activo' style='width: 71px; height: 26px;' value='".$row["activo"]."' maxlength='255'></div>";
echo"<br>";

Y tercero: Es del lado actualizador de la información en PHP, en donde valido la condición del CHECKBOX si envia error o no, y eso lo compruebo con el ISSET, entonces juego con la variabe proveniente del campo oculto así como sigue:

if(isset($_POST['chk_activo']))
{
if ($_POST['activo']=1){
$chk_activo=1;
}
else{
$chk_activo=0;
}
}
else{
if ($_POST['activo']=1){
$chk_activo=0;
}
else{
$chk_activo=1;
}
}

no se tal vez sea muy extenso, pero a mi ya me funciona, de todas formas si existe una manera menos complicada agradecería que la colocaran en este TEMA para que el resto de los foristas tenga a escoger, segun su apreciaciones.

Gracias señores por obligarme a tratar de resolver mi problema.

Saludos a todos.