Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/12/2016, 13:46
Mental
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: php asignar type='date'

Hola:
El código ya funciona y reconoce type=date. Ahora bién, como tu dices, sólo funciona con crhome.
Por lo que ya tengo que trabajar javascript o Query.
Gracias.
Agrego el código que me ha permitido solucionar el problema y que entiendo es más limpio y legible.
Un saludo.

Código PHP:
Ver original
  1. function constructor_formulario($bd, $nombre_tabla)
  2.             {
  3.                 //Establecemos conexión con la base de datos.
  4.                 include ('Funciones/conexion.php');
  5.                 //Generamos la consulta para obtener información sobre alguno de los campos que informan sobre como esta estructurada la tabla.
  6.                 $sql = "SELECT COLUMN_NAME as nombre, COLUMN_KEY, COLUMN_COMMENT, DATA_TYPE
  7.                         FROM information_schema.columns
  8.                         WHERE table_schema = '".$bd."'  AND table_name = '".$nombre_tabla."'
  9.                         ORDER BY substring('nombre' ,6 , length(nombre)-6) ASC";
  10.                 $estructura_tabla=mysqli_query($cn,$sql);
  11.  
  12.                 //Informamos del número de columnas que hemos extraido para dotar a los inputs de sus atributos correspondientes atributos.
  13.                 //La función mysqli_field_count($cn) devuelve los resultados de la última consulta realizada
  14.                 $columnas = mysqli_field_count($cn);
  15.                 //La iformación que cada input necesita esta en esta columnas estructurales.
  16.                 //echo "La tabla tiene ". $columnas." columnas, que informan el tipo de atributos que debe tener cada input. <br>";
  17.  
  18.                 //Obtenemos el número de campos que tiene cada registro de la tabla.
  19.                 $numero_campos = mysqli_num_rows($estructura_tabla);
  20.                 //echo "La tabla tiene ". $numero_campos." filas <br>";
  21.  
  22.  
  23.                 $i=0; //variable para asignar un valor id a cada input.
  24.                     //EMPEZAMOS A CREAR LOS IMPUTS PARA EL FORMULARIO.
  25.                     //PARA CADA CAMPO DE LA TABLA, QUE VEREMOS EN EL FORMULARIO, TENEMOS QUE CREAR UN INPUT.
  26.                     //El número de campos que tiene la tabla esta recogido en la variable $numero_campos.
  27.                     //Tenemos que generar tantos inputs como campos tiene la tabla.
  28.                     for($i=1; $i<= $numero_campos; $i++)
  29.                     {
  30.                         //Invocamos los campos de la tabla uno a uno para construir su correspondiente input.
  31.                         $columna =mysqli_fetch_array($estructura_tabla);
  32.                        
  33.                         echo "<div>";
  34.                         //Construimos las etiquetas que acompañaran los inputs
  35.                         echo "<label for='label'>";
  36.                         if($columna['COLUMN_KEY']== 'PRI'){echo "";}else{echo $columna['COLUMN_COMMENT'];}
  37.                          echo "</label>";
  38.                          //Establecemos los criterios para los atributos a los inputs.
  39.                         if($columna['COLUMN_KEY'] == 'PRI')$caso  = 1; //El input contiene una clave principal y estará oculto.
  40.                         elseif($columna['COLUMN_KEY'] == 'MUL')$caso  = 2; //El input contiene clave foranea y será un select.
  41.                         elseif($columna['DATA_TYPE'] !== 'date' )$caso = 3; // El input contiene datos nada más
  42.                         elseif($columna['DATA_TYPE']  == 'date' )$caso = 4; //El input contendrá una fecha y es datapiker.
  43.                         //Abrimos el input.
  44.                         echo "<input   ";
  45.                         //Usamos switch para establece que tipo de input es.
  46.                             switch ($caso)
  47.                         {
  48.                                         case 1://El input contiene una clave principal y estará oculto.
  49.                                             echo "type = 'hidden'";
  50.                                             break;
  51.                                         case 2://El input contiene clave foranea y será un select.
  52.                                             echo "type = 'text'";
  53.                                             break;
  54.                                         case 3:// El input contiene datos sin más especificaciones
  55.                                             echo "type = 'text'";
  56.                                             break;
  57.                                         case 4://El input contendrá una fecha y es datapiker.
  58.                                             echo "type = 'date'";
  59.                                             break;
  60.                         }
  61.                         ///Asignamos un id al input.
  62.                         echo "id = '".$i."'";
  63.                         //Asignamos un nombre al input.
  64.                         echo "name='".$columna['nombre']."'";
  65.                         //autofocus autmático.
  66.                         echo "autofocus='autofocus'";
  67.                         //Damos valor al input.
  68.                         echo "value = '".$i."'";
  69.                         //*******************************************************************************************"
  70.                         //Cerramos el input
  71.                         echo "input/>";
  72.                     }
  73.                     $i="";//Vaciamos la variable.
  74.             }