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

Hola amigos,

Necesito vuestra para resolver lo siguiente:

Tengo una pagina que inserta registros en una base de datos en la cual tengo el siguiente formulario (pongo solo la parte de los checkbox):

Código PHP:
                <label>¿Transporte p&uacute;blico?</label>    
            <
input type="checkbox" name="trans_publico" value="1"><br />
        <
label>¿Hay agua potable?</label>
            <
input type="checkbox" name="agua_potable" value="1"><br />
        <
label>¿Hay aseos p&uacute;blicos?</label>
            <
input type="checkbox" name="aseos" value="1"><br /><br /> 
Si estoy en lo cierto, al seleccionar cualquiera de los checkbox, se guardará un "1" en mi base de datos y si no se selecciona se guardará un "0". Almenos he comprobado con phpmyAdmin que se guardan esos valores mirando la tabla en cuestión (los guardo como boleanos).

En la página que tengo creada para "ver detalles del registro" se muestran como "1" y "0" esos campos de esta forma:

Cita:
Transporte público: 0
Agua potable: 1
Aseos: 1

PREGUNTA 1: ¿Qué debería hacer para que en lugar de "1" y "0" mostrara un "sí" o "no"?
PREGUNTA 2:
El problema lo tengo al recoger esos valores guardados en la DB ya que la página de "editar registro" contiene el mismo formulario pero no me marca los checkbox que tienen guardado el valor "1", sacandome todos los checkbox sin marcar. Este es el codigo de la pagina "editar registro":

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_albergues&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" [B]NO SE QUE PONER AQUI PARA QUE TENGA EL ATRIBUTO CHECKED SI ESTE CAMPO CONTIENE UN "1" [/B]/><br />
        <label>¿Hay agua potable?</label>
            <input type="checkbox" name="agua_potable" [B]NO SE QUE PONER AQUI PARA QUE TENGA EL ATRIBUTO CHECKED SI ESTE CAMPO CONTIENE UN "1" [/B] /><br />
        <label>¿Hay aseos p&uacute;blicos?</label>
            <input type="checkbox" name="aseos" [B]NO SE QUE PONER AQUI PARA QUE TENGA EL ATRIBUTO CHECKED SI ESTE CAMPO CONTIENE UN "1"[/B] /><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>
Como veis, la información proviene de 2 tablas pero las consultas se que las tengo bien.
Se me olvidaba decir que no quiero usar javascript

Ojala alguien pudiera orientarme pq tengo la cabeza como un bombo después de probar mil cosas!!

Última edición por yakrum; 18/02/2014 a las 22:39