Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/02/2014, 06:56
yakrum
 
Fecha de Ingreso: febrero-2014
Ubicación: España
Mensajes: 19
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Añadir atributo checked a un checkbox dinamicamente

Lo primero:

MUCHISIAS GRACIAS por la ayuda lolainas y supercoco79, he podido hacer que me muestre el "SI" o "NO" en lugar del valor guardado.

Sin embargo al querer añadir el atributo checked a los checkbox que tienen un "1" asignado en la DB me estoy comiendo la cabeza porque me saca errores de variable no definida
Cita:
Notice: Undefined index: trans_publico
Notice: Undefined index: agua_potable
Notice: Undefined index: aseos
Cosa que no entiendo pq creo que sí están definidas

He probado con las 2 maneras que me habeis aconsejado y el error es el mismo..

Pongo todo el codigo del archivo de "editar_excursiones" para que veais como queda con la recomendación de supercoco79:

Código PHP:
<?php
include("pages/seguridad.php");
include(
"pages/conexion.php");
?>
<h2>EDITAR EXCURSION</h2>    
<?php include("pages/menu_gestor.php");
//Se muestran los campos guardados en la db y si no se tocan se volverán a mandar los mismos
if(isset($_POST["boton"])){ $id=$_POST["id"];
                            
$denominacion=$_POST["denominacion"];
                            
$dir_calle=$_POST["dir_calle"];
                            
$dir_num=$_POST["dir_num"];
                            
$dir_piso=$_POST["dir_piso"];
                            
$dir_letra=$_POST["dir_letra"];
                            
$dir_cp=$_POST["dir_cp"];
                            
$localidad=$_POST["localidad"];
                            
$provincia=$_POST["provincia"];
                            
$contacto=$_POST["contacto"];
                            
$tlf_contacto=$_POST["tlf_contacto"];
                            
$correo=$_POST["correo"];
                            
$coordenadasGPS=$_POST["coordenadasGPS"];
                            
$observaciones=$_POST["observaciones"];
                            
$link_foto=$_POST["link_foto"];
                            
$puntuacion=$_POST["puntuacion"];
                            
$tipo=$_POST["tipo"];
                            
$trans_publico=$_POST["trans_publico"];
                            
$agua_potable=$_POST["agua_potable"];
                            
$aseos=$_POST["aseos"];                            
    
$sql="UPDATE sitios SET denominacion='$denominacion',dir_calle='$dir_calle',dir_num='$dir_num',dir_piso='$dir_piso',dir_letra='$dir_letra',dir_cp='$dir_cp',localidad='$localidad',provincia='$provincia',contacto='$contacto',tlf_contacto='$tlf_contacto',correo='$correo',coordenadasGPS='$coordenadasGPS',link_foto='$link_foto',puntuacion='$puntuacion', tipo='$tipo' WHERE idSitios=$id"
$res=mysql_query($sql,$conexion); //ahora actualizaremos la consulta:

$sql2="UPDATE excursiones SET trans_publico='$trans_publico',agua_potable='$agua_potable',aseos='$aseos' WHERE idSitios=$id"
$res2=mysql_query($sql2,$conexion); //ahora actualizaremos la consulta:

    
if(($res)&&($res2)){echo "Datos actualizados correctamente.<br/><a href='index.php?p=detalle_excursiones&id=".$_POST['id']."'>Seguir viendo la ficha</a>";
        }else{echo 
"Error en la actualizacion, revise los datos de nuevo.";}
        
//a partir de aquí es cuando todavía no se le ha dado al botón, me recojo el id del hidden de abajo,q también es el del UPDATE...WHRE idcontactos..
        
}else{$id=$_GET["id"];
    
$sql="SELECT * FROM sitios WHERE idSitios=$id";      
    
$sql2="SELECT * FROM excursiones WHERE idSitios=$id";
      
$consulta=mysql_query($sql,$conexion);
          
$registro=mysql_fetch_array($consulta);
      
$consulta2=mysql_query($sql2,$conexion);      
        
$registro2=mysql_fetch_array($consulta2);
?>
    <form method="post" action="index.php?p=editar_excursiones">
        <label>Nombre:</label><br/>
            <input type="text" name="denominacion" value="<?php echo $registro["denominacion"];?>"/><br/>
        <label>Calle:</label><br/>
            <input type="text" name="dir_calle" value="<?php echo $registro["dir_calle"];?>"/><br/>
        <label>Numero:</label><br/>
            <input type="text" name="dir_num" value="<?php echo $registro["dir_num"];?>"/><br/>
        <label>Piso:</label><br/>
            <input type="text" name="dir_piso" value="<?php echo $registro["dir_piso"];?>"/><br/>
        <label>Letra:</label><br/>
            <input type="text" name="dir_letra" value="<?php echo $registro["dir_letra"];?>"/><br/>
        <label>C.P:</label><br/>
            <input type="text" name="dir_cp" value="<?php echo $registro["dir_cp"];?>"/><br/>
        <label>Localidad</label><br/>
            <input type="text" name="localidad" value="<?php echo $registro["localidad"];?>"/><br/>
        <label>Provincia</label><br/>
            <input type="text" name="provincia" value="<?php echo $registro["provincia"];?>"/><br/>
        <label>contacto:</label><br/>
            <input type="text" name="contacto" value="<?php echo $registro["contacto"];?>"/><br/>
        <label>Telefono contacto:</label><br/>
            <input type="text" name="tlf_contacto" value="<?php echo $registro["tlf_contacto"];?>"/><br/>
        <label>Correo:</label><br/>
            <input type="text" name="correo" value="<?php echo $registro["correo"];?>"/><br/>
        <label>Coordenadas GPS:</label><br/>
            <input type="text" name="coordenadasGPS" value="<?php echo $registro["coordenadasGPS"];?>"/><br/>
        <label>Observaciones:</label><br/>
            <input type="text" name="observaciones" value="<?php echo $registro["observaciones"];?>"/><br/>
        <label>Foto:</label><br/>
            <input type="text" name="link_foto" value="<?php echo $registro["link_foto"];?>"/><br/>
        <label>Puntuacion */10:</label><br/>
            <input type="text" name="puntuacion" value="<?php echo $registro["puntuacion"];?>"/><br/>    
        <label>Tipo de Sitio:</label><br/>
            <input type="text" name="tipo" readonly="readonly" value="<?php echo $registro["tipo"];?>"/><br/><br />            
    <!--segunda consulta-->
        <label>¿Transporte p&uacute;blico?</label>
            <input type="checkbox" name="trans_publico" value="1"<?php echo (isset($trans_publico))?'checked="checked"':(($registro['trans_publico'])?'checked="checked"':'');?>><br />
        <label>¿Hay agua potable?</label>
            <input type="checkbox" name="agua_potable" value="1"<?php echo (isset($agua_potable))?'checked="checked"':(($registro['agua_potable'])?'checked="checked"':'');?>><br />
        <label>¿Hay aseos p&uacute;blicos?</label>
            <input type="checkbox" name="aseos" value="1"<?php echo (isset($aseos))?'checked="checked"':(($registro['aseos'])?'checked="checked"':'');?>><br />
        <input type="hidden" name="id" value="<?php echo $id;?>"/><!--me mando el id oculto,será obligatorio para la consulta para actualizar el q sea en concreto no todos-->
        <input type="submit" name="boton" value="Editar"/><!--al darle al botón el id que me mando es el de POST de arriba-->
</form>

<?php  
}
?>
<br/>
<a href='index.php?p=excursiones'>Volver al listado</a>
Y una duda que me queda..poqué hay que poner el atributo value='1'..no se supone que el valor de ese atributo debería cogerlo de la base de datos?