Diferencia entre revisiones de «Ejemplo de input autocomplete con jquery ui»

De KumbiaPHP Framework Wiki
Línea 15: Línea 15:
  
 
INSERT INTO `estados` (`estado`) VALUES
 
INSERT INTO `estados` (`estado`) VALUES
('Amazonas'),
+
('Amazonas'),('Anzoategui'),('Apure'),('aragua'),('Barinas'),('Bolívar'),
('Anzoategui'),
+
('Carabobo'),('Cojedes'),('Delta Amacuro'),('Dist. Capital'),('Falcón'),
('Apure'),
+
('Guarico'),('Lara'),('Mérida'),('Miranda'),('Monagas'),('Nueva Esparta'),
('aragua'),
+
('Portuguesa'),('Sucre'),('Táchira'),('Trujillo'),('valencia'),('Vargas'),
('Barinas'),
+
('Yaracuy'),('Zulia');
('Bolívar'),
+
 
('Carabobo'),
+
</source>
('Cojedes'),
+
 
('Delta Amacuro'),
+
 
('Dist. Capital'),
+
=== Creando el Modelo ===
('Falcón'),
+
 
('Guarico'),
+
El siguiente paso es crear un modelo llamado '''Estados''' en la carpeta models del proyecto '''app/models/estados.php''':
('Lara'),
+
 
('Mérida'),
+
<source lang=php>
('Miranda'),
+
<?php
('Monagas'),
+
class Estados extends ActiveRecord {
('Nueva Esparta'),
+
 
('Portuguesa'),
+
    public function obtener_json($estado) {
('Sucre'),
+
        if ($estado != '') {
('Táchira'),
+
            $res = $this->find('columns: estado', "estado like '%{$estado}%'");
('Trujillo'),
+
            if ($res) {
('valencia'),
+
                // creamos el formato json para el autocomplete ej: ["aragua","caracas"]
('Vargas'),
+
                foreach ($res as $estado) {
('Yaracuy'),
+
                    $estados[] = '"' . $estado->estado . '"';
('Zulia');
+
                }
 +
                return '[' . join(',', $estados) . ']';
 +
            }
 +
        }
 +
        return '["no hubo coincidencias"]';
 +
    }
 +
 
 +
}
  
 
</source>
 
</source>

Revisión del 15:05 29 sep 2011

Descripcion

En el siguiente ejemplo se muestra una manera de crear un input con autocompletado de texto, utilizando las librerias jquery y jquery-ui. El campo de texto servirá para buscar estados en una base de datos.

Tabla a Utilizar

CREATE TABLE `estados` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `estado` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `estado` (`estado`)
) ENGINE=InnoDB ;

INSERT INTO `estados` (`estado`) VALUES
('Amazonas'),('Anzoategui'),('Apure'),('aragua'),('Barinas'),('Bolívar'),
('Carabobo'),('Cojedes'),('Delta Amacuro'),('Dist. Capital'),('Falcón'),
('Guarico'),('Lara'),('Mérida'),('Miranda'),('Monagas'),('Nueva Esparta'),
('Portuguesa'),('Sucre'),('Táchira'),('Trujillo'),('valencia'),('Vargas'),
('Yaracuy'),('Zulia');


Creando el Modelo

El siguiente paso es crear un modelo llamado Estados en la carpeta models del proyecto app/models/estados.php:

<?php
class Estados extends ActiveRecord {

    public function obtener_json($estado) {
        if ($estado != '') {
            $res = $this->find('columns: estado', "estado like '%{$estado}%'");
            if ($res) {
                // creamos el formato json para el autocomplete ej: ["aragua","caracas"]
                foreach ($res as $estado) {
                    $estados[] = '"' . $estado->estado . '"';
                }
                return '[' . join(',', $estados) . ']';
            }
        }
        return '["no hubo coincidencias"]';
    }

}