Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] php asignar type='date'

Estas en el tema de php asignar type='date' en el foro de PHP en Foros del Web. Estoy elaborando el siguiente constructor de input para un formulario para formulario: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original for ( $j = 1 ; $j ...
  #1 (permalink)  
Antiguo 12/12/2016, 18:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 1
php asignar type='date'

Estoy elaborando el siguiente constructor de input para un formulario para formulario:

Código PHP:
Ver original
  1. for($j=1; $j<= $numero_campos; $j++)
  2.                     {
  3.                         //Invocamos los campos de la tabla uno a uno para construir su correspondiente input.
  4.                         $columna =mysqli_fetch_array($estructura_tabla);
  5.                        
  6.                         echo "<div>";
  7.                         //Construimos las etiquetas que acompañaran los inputs
  8.                         echo "<label for='label'>";
  9.                         if($columna['COLUMN_KEY']== 'PRI'){echo "";}else{echo $columna['COLUMN_COMMENT'];}
  10.                          echo "</label>";
  11.                         //Construimos los diferentes tipos de inputs según el type de datos o tipo de clave.
  12.                         //EL PATRON DE CONSTRUCCIÓN ES:
  13.                             //<input type id value/>
  14.                         //Detectamos si el campo tiene una clave foranea o no:
  15.                         //abrimos el input o select.
  16.                         if($columna['COLUMN_KEY']== 'MUL')//El campo tiene clave foranea y por tanto el input será un select.
  17.                         {echo "<select name='carlist'>
  18.                               <option value='volvo'>Volvo</option>
  19.                               <option value='saab'>Saab</option>
  20.                               <option value='opel'>Opel</option>
  21.                               <option value='audi'>Audi</option>
  22.                          ";}
  23.                          else{echo "<input   ";}//El campo no tiene clave foranea y por tanto el input será un text.
  24.                          //*****************************************************************************************
  25.                         //Vemos u ocultamos el input según no contenga o contenga clave primaria.
  26.                         if($columna['COLUMN_KEY']== 'PRI'){echo "type='hidden'";}else{echo "type='text'";}
  27.                         //Tipo de type en función del tipo de datos.
  28.                         if($columna['DATA_TYPE'] == 'date'){echo "type='date'";}
  29.                         //*******************************************************************************************
  30.                         //Asignamos un id al input.
  31.                         echo "id = '".$id."'";
  32.                         //*******************************************************************************************
  33.                         //Asignamos un nombre al input.
  34.                         echo "name='".$columna['nombre']."'";
  35.                         //*******************************************************************************************
  36.                         //Valor por defecto en el input.
  37.                         echo "placeholder='".$columna['COLUMN_COMMENT']."'";
  38.    //*******************************************************************************************
  39.                         //autofocus autmático.
  40.                         echo "autofocus='autofocus'";
  41.                         //Damos valor al input.
  42.                         echo "value=''"; //".$var[$id]."'";
  43.                         //*******************************************************************************************
  44.                         //Cerramos el input o select.
  45.                         if($columna['COLUMN_KEY'] == 'MUL'){echo "</select>";}else{echo "input/>";}
  46.                         //*******************************************************************************************
  47.                         echo "</div>";
  48.  
  49.                         /*echo "El nombre es: "         . $columna['nombre']. "  ";
  50.                         echo "El clave es: "        . $columna['COLUMN_KEY']. "  ";
  51.                         echo "El comentario es: "   . $columna['COLUMN_COMMENT']. "  ";
  52.                         echo "El tipo es: "         . $columna['DATA_TYPE']. "<br>";*/
  53.                         //actualizamos las variables.
  54.                         $id = $id + 1;
  55.                     }

Todo funciona de momento correctamente, salvo lo referido en la linea 28 del código
Código PHP:
Ver original
  1. if($columna['COLUMN_COMMENT'] == 'fecha'){echo "type='date'";
No consigo que el input se vea como un datepicker del html5.

¿Alguna idea?
Gracias.
  #2 (permalink)  
Antiguo 12/12/2016, 18:18
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: php asignar type='date'

en que navegador estas trabajando??? solo es soportado para Chrome
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 13/12/2016, 13:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 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.             }

Etiquetas: formulario, html, mysql, select, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.