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

Por si alguien consulta este topic, voy a poner como quedó el codigo del archivo 'editar' que es el que contiene los 'checkboxes con atributo dinamico checked' y que no da error ni warnings (pero no tiene validacion de los campos)

Código PHP:
Ver original
  1. <?php
  2. include("pages/seguridad.php");
  3. include("pages/conexion.php");
  4. ?>
  5. <h2>EDITAR EXCURSION</h2>  
  6. <?php include("pages/menu_gestor.php");
  7. //Se muestran los campos guardados en la db y si no se tocan se volverán a mandar los mismos
  8. if(isset($_POST['boton_editar'])){ $id=$_POST['id'];
  9.                             $denominacion=$_POST['denominacion'];
  10.                             $dir_calle=$_POST['dir_calle'];
  11.                             $dir_num=$_POST['dir_num'];
  12.                             $dir_piso=$_POST['dir_piso'];
  13.                             $dir_letra=$_POST['dir_letra'];
  14.                             $dir_cp=$_POST['dir_cp'];
  15.                             $localidad=$_POST['localidad'];
  16.                             $provincia=$_POST['provincia'];
  17.                             $contacto=$_POST['contacto'];
  18.                             $tlf_contacto=$_POST['tlf_contacto'];
  19.                             $correo=$_POST['correo'];
  20.                             $coordenadasGPS=$_POST['coordenadasGPS'];
  21.                             $observaciones=$_POST['observaciones'];
  22.                             $link_foto=$_POST['link_foto'];
  23.                             $puntuacion=$_POST['puntuacion'];
  24.                             $tipo=$_POST['tipo'];
  25.                             $trans_publico = (array_key_exists('trans_publico', $_POST))?$_POST['trans_publico']:NULL;     //si el checkbox se envía sin marcar, toma valor null
  26.                             $agua_potable = (array_key_exists('agua_potable', $_POST))?$_POST['agua_potable']:NULL;  //si el checkbox se envía sin marcar, toma valor null
  27.                             $aseos = (array_key_exists('aseos', $_POST))?$_POST['aseos']:NULL;                    //si el checkbox se envía sin marcar, toma valor null
  28.  
  29. $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', observaciones='$observaciones', link_foto='$link_foto', puntuacion='$puntuacion', tipo='$tipo' WHERE idSitios=$id";
  30. $res=mysql_query($sql,$conexion); //ahora actualizaremos la consulta:
  31.  
  32. $sql2="UPDATE excursiones SET trans_publico='$trans_publico', agua_potable='$agua_potable', aseos='$aseos' WHERE idSitios=$id";
  33. $res2=mysql_query($sql2,$conexion); //ahora actualizaremos la consulta:
  34.  
  35.     if(($res)&&($res2)){echo "Datos actualizados correctamente.<br/><a href='index.php?p=detalle_excursiones&id=".$_POST['id']."'>Seguir viendo la ficha</a>";
  36.         }else{echo "Error en la actualizacion, revise los datos de nuevo.";}
  37.         //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..
  38.         }else{$id=$_GET["id"];
  39.     $sql="SELECT * FROM sitios WHERE idSitios=$id";      
  40.     $sql2="SELECT * FROM excursiones WHERE idSitios=$id";
  41.       $consulta=mysql_query($sql,$conexion);
  42.         $registro=mysql_fetch_array($consulta);
  43.       $consulta2=mysql_query($sql2,$conexion);   
  44.         $registro2=mysql_fetch_array($consulta2);
  45. ?>
  46.     <form method="post" action="index.php?p=editar_excursiones">
  47.         <label>Nombre:</label><br/>
  48.             <input type="text" name="denominacion" value="<?php echo $registro["denominacion"];?>"/><br/>
  49.         <label>Calle:</label><br/>
  50.             <input type="text" name="dir_calle" value="<?php echo $registro["dir_calle"];?>"/><br/>
  51.         <label>Numero:</label><br/>
  52.             <input type="text" name="dir_num" value="<?php echo $registro["dir_num"];?>"/><br/>
  53.         <label>Piso:</label><br/>
  54.             <input type="text" name="dir_piso" value="<?php echo $registro["dir_piso"];?>"/><br/>
  55.         <label>Letra:</label><br/>
  56.             <input type="text" name="dir_letra" value="<?php echo $registro["dir_letra"];?>"/><br/>
  57.         <label>C.P:</label><br/>
  58.             <input type="text" name="dir_cp" value="<?php echo $registro["dir_cp"];?>"/><br/>
  59.         <label>Localidad</label><br/>
  60.             <input type="text" name="localidad" value="<?php echo $registro["localidad"];?>"/><br/>
  61.         <label>Provincia</label><br/>
  62.             <input type="text" name="provincia" value="<?php echo $registro["provincia"];?>"/><br/>
  63.         <label>Contacto:</label><br/>
  64.             <input type="text" name="contacto" value="<?php echo $registro["contacto"];?>"/><br/>
  65.         <label>Telefono contacto:</label><br/>
  66.             <input type="text" name="tlf_contacto" value="<?php echo $registro["tlf_contacto"];?>"/><br/>
  67.         <label>Correo:</label><br/>
  68.             <input type="text" name="correo" value="<?php echo $registro["correo"];?>"/><br/>
  69.         <label>Coordenadas GPS:</label><br/>
  70.             <input type="text" name="coordenadasGPS" value="<?php echo $registro["coordenadasGPS"];?>"/><br/>
  71.         <label>Observaciones:</label><br/>
  72.             <input type="textarea" cols="40" rows="3" name="observaciones" value="<?php echo $registro["observaciones"];?>"/><br/>
  73.         <label>Foto:</label><br/>
  74.             <input type="text" name="link_foto" value="<?php echo $registro["link_foto"];?>"/><br/>
  75.         <label>Puntuacion */10:</label><br/>
  76.             <input type="text" name="puntuacion" value="<?php echo $registro["puntuacion"];?>"/><br/>  
  77.         <label>Tipo de Sitio:</label><br/>
  78.             <input type="text" name="tipo" readonly="readonly" value="<?php echo $registro["tipo"];?>"/><br/><br />        
  79.     <!--segunda consulta-->
  80.         <label>¿Se puede llegar con transporte p&uacute;blico?</label><!--hay que cambiar el array $registro por $registro2 ya que ese array es el que guarda la segunda consulta que contiene estos valores -->
  81.             <input type="checkbox" name="trans_publico" value="1"<?php echo (isset($trans_publico))?'checked="checked"':(($registro2['trans_publico'])?'checked="checked"':'');?>><br />
  82.         <label>¿Hay agua potable?</label>
  83.             <input type="checkbox" name="agua_potable" value="1"<?php echo (isset($agua_potable))?'checked="checked"':(($registro2['agua_potable'])?'checked="checked"':'');?>><br />
  84.         <label>¿Hay aseos p&uacute;blicos?</label>
  85.             <input type="checkbox" name="aseos" value="1"<?php echo (isset($aseos))?'checked="checked"':(($registro2['aseos'])?'checked="checked"':'');?>><br /><br />
  86.         <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-->
  87.         <input type="submit" name="boton_editar" value="Editar"/><!--al darle al botón el id que me mando es el de POST de arriba-->
  88.     </form>
  89. <?php  
  90.     }
  91. ?>
  92. <br/>
  93. <a href='index.php?p=excursiones'>Volver al listado</a>