Tag: PHP

Combos (Combobox) Dependientes Utilizando PHP, Mysql y jQuery (Javascript)

Antes que nada, hola a todos este es mi primer post en el blog y espero no sea el ultimo porque desde hoy voy a colaborar aquí esperando que la información publicada sea de ayuda a todos.

Y pues empezamos, la idea es crear un script que al seleccionar el país nos muestre un combo con los estados de este y al seleccionar un estado nos muestre las ciudades del estado, aquí un ejemplo:

Ejemplo

Esto utilizando Jquery, php y Mysql, el código que aquí se utilizara es utilizando una pequeña clase para uso de mysql que hice hace algunos días y que pueden encontrar aquí, aunque en los archivos de descarga pondré los 2 utilizando la clase y sin ella.

Bueno para empezar mi base de datos se llama poblaciones y estas son las tablas que necesitamos:

MySQL:
  1. País:
  2. CREATE TABLE `pais` (
  3. `idpais` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  4. `pais` VARCHAR(50) DEFAULT NULL,
  5. PRIMARY KEY USING BTREE (`idpais`)
  6. ) ENGINE=MyISAM;
  7.  
  8. Estado:
  9. CREATE TABLE `estado` (
  10. `idestado` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  11. `estado` VARCHAR(50) DEFAULT NULL,
  12. `pais` INT(11) NOT NULL DEFAULT '0',
  13. PRIMARY KEY USING BTREE (`idestado`)
  14. ) ENGINE=MyISAM;
  15.  
  16. Ciudad:
  17. CREATE TABLE `ciudad` (
  18. `idciudad` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  19. `ciudad` VARCHAR(50) NOT NULL DEFAULT '',
  20. `estado` INT(11) NOT NULL DEFAULT '0',
  21. `pais` INT(10) UNSIGNED NOT NULL DEFAULT '0',
  22. PRIMARY KEY USING BTREE (`idciudad`)
  23. ) ENGINE=MyISAM;

y este código de la pagina donde estarán nuestros combos:
"com_dependientes.php"

PHP:
  1. <?php
  2. include("mysql_inc.php");
  3. $mysql = new MySql_Class;
  4. $mysql->user="root";
  5. $mysql->password="root";
  6. $mysql->db="poblaciones";
  7. $mysql->server="localhost";
  8. $mysql->conection();
  9. ?>
  10. <script src="js/jquery.js"></script>
  11. <script>
  12. $(document).ready(function(){
  13.     $("select").change(function(){
  14.         // Vector para saber cuál es el siguiente combo a llenar
  15.  
  16.         var combos = new Array();
  17.         combos['pais'] = "estado";
  18.         combos['estado'] = "ciudad";
  19.         // Tomo el nombre del combo al que se le a dado el clic por ejemplo: país
  20.         posicion = $(this).attr("name");
  21.         // Tomo el valor de la opción seleccionada
  22.         valor = $(this).val()       
  23.         // Evaluó  que si es país y el valor es 0, vacié los combos de estado y ciudad
  24.         if(posicion == 'pais' && valor==0){
  25.             $("#estado").html('    <option value="0" selected="selected">----------------</option>')
  26.             $("#ciudad").html('    <option value="0" selected="selected">----------------</option>')
  27.         }else{
  28.         /* En caso contrario agregado el letreo de cargando a el combo siguiente
  29.         Ejemplo: Si seleccione país voy a tener que el siguiente según mi vector combos es: estado  por qué  combos [país] = estado
  30.             */
  31.             $("#"+combos[posicion]).html('<option selected="selected" value="0">Cargando...</option>')
  32.             /* Verificamos si el valor seleccionado es diferente de 0 y si el combo es diferente de ciudad, esto porque no tendría caso hacer la consulta a ciudad porque no existe un combo dependiente de este */
  33.             if(valor!="0" || posicion !='ciudad'){
  34.             // Llamamos a pagina de combos.php donde ejecuto las consultas para llenar los combos
  35.                 $.post("combos.php",{
  36.                                     combo:$(this).attr("name"), // Nombre del combo
  37.                                     id:$(this).val() // Valor seleccionado
  38.                                     },function(data){
  39.                                                     $("#"+combos[posicion]).html(data);    //Tomo el resultado de pagina e inserto los datos en el combo indicado                                                                               
  40.                                                     })                                               
  41.             }
  42.         }
  43.     })       
  44. })
  45. </script>
  46. <form id="form1" name="form1">
  47. <div>
  48. <select name="pais" id="pais">
  49.     <option selected="selected" value="0">---------</option>
  50. <?
  51. $query = $mysql->query("SELECT * FROM pais");
  52. if($query["amount"]>0){                       
  53.     foreach($query["data"] as $rs){
  54.     ?>
  55.         <option value="<?=$rs["idpais"]?>"><?=$rs["pais"]?></option>
  56.     <?
  57.     }
  58. }
  59. ?>
  60.                         </select>
  61. </div>
  62.  
  63. <div>
  64. <select id="estado" name="estado">
  65.     <option value="0" selected="selected">----------------</option>
  66. </select>
  67. </div>
  68.  
  69. <div>
  70. <select id="ciudad" name="ciudad">
  71.     <option value="0" selected="selected">-------------------</option>
  72. </select>
  73. </div>
  74. </form>

y este es el código de "combos.php" :

PHP:
  1. <?
  2. include("mysql_inc.php");
  3. $mysql = new MySql_Class;
  4. $mysql->user="root";
  5. $mysql->password="root";
  6. $mysql->db="poblaciones";
  7. $mysql->server="localhost";
  8. $mysql->conection();
  9. $idcombo = $_POST["id"];
  10. $action =$_POST["combo"];
  11. switch($action){
  12.     case "pais":{
  13.         $query =$mysql->query("SELECT idestado,estado FROM estado WHERE pais = $idcombo order by estado ASC");
  14.         foreach($query["data"] as $rs)
  15.             echo '<option value="'.$rs["idestado"].'">'.htmlentities($rs["estado"]).'</option>';   
  16.     break;
  17.     }
  18.     case "estado":{       
  19.         $query =$mysql->query("SELECT idciudad,ciudad FROM ciudad WHERE estado= $idcombo order by ciudad ASC");
  20.         foreach($query["data"] as $rs)
  21.             echo '<option value="'.$rs["idciudad"].'">'.htmlentities($rs["ciudad"]).'</option>';   
  22.     break;
  23.     }
  24. }
  25. ?>

y por último acá los archivos aquí los archivos en descarga con la siguiente estructura:
conclase -> capeta con el script tal y como esta en este post
sinclase -> carpeta con el script sin el uso de la clase
combos_dependientes.sql -> Archivo de texto con las ciudades, estados de méxico, solo las tablas ustedes crean la base de datos e insertan estas y cambian el nombre de la base datos en el script y listo tiene que funcionar de la mejor manera.

Date una vuelta por mi Blog para más ejemplos :D -> http://jjeb.wordpress.com/

f0e894807523fcfca475ebd439844e5d
Share via email

Los 10 mejores Video Tutoriales (Videotutoriales) de Ajax y PHP

Hola amigos... hoy estando navegando por Youtube me encontré con varios videotutoriales de Ajax, Asp.Net y Javascript que la verdad se me hicieron muy interesantes...

Aquí te dejo los 10 mejores videos que encontré:

1. Ajax Y ASP.Net

2. Ejemplo de AJAX con servidor TOMCAT

(continue reading...)

3ef0fcda6f30bdca3b0391861881b721
Share via email

10 mejores tutoriales (manuales) de PHP y ASP en PDF

Hola amigos..

Hoy tengo ganas de darles a conocer recursos que con el tiempo me he encontrado por ahí y que me han servido de muchísima utilidad como lo son estos tutoriales, que si bien no los he leído todos, si me han sacado de grandes apuros que sin ellos, se me hubiera complicado demasiado la resolución de mis dudas y problemas.

La mayoría de estos tutoriales (manuales) son PDF ya que en lo personal, siento que en este formato se facilita mucho mas la lectura y el aprendizaje de su contenido...

Y bueno aquí te dejo la lista para que elijas el que mas te complazca, como sea lo que importa es que aprendas:
(continue reading...)

803c955dc211bcc2241171769fe3319e
Share via email

Como hacer un Sistema de Login en Ajax y PHP

Hola

Pues ahora que esta de moda esto del Ajax, aquí les traigo un sistema de login hecho con PHP y Ajax que funciona a la perfección. Es muy simple la verdad y solo es de entender como funciona básicamente, y para implementarlo solo necesitas agregarle unas 5 lineas de código con los datos de tu Base de Datos donde guardas los datos del usuario que desea iniciar sesión.

Aquí te dejo un link donde puedes ver funcionando en linea el Sistema de Login en Ajax

DEMO EN LINEA

Y bueno, una vez que te das a la idea de como queda el sistema, vamos con la explicación y el codigo fuente:
(continue reading...)

9ed549fb979e6144b8a2d78a24064c22
Share via email

Como graficar profesionalmente con PHP (PHPLOT)

Buenas!

Hoy ando con ganas de difundir recursos para que el buen desarrollador tenga herramientas para crear una web dinamica y con distintos componentes como las gráficas.

Hace no mucho me vi en la necesidad de crear gráficas y me puse a navegar por internet y el resultado de mi busqueda si que me sirvio de mucho :P

Me encontré con diferentes clases y funciones que te permiten desarrollar graficas en php.
Al principio hice una gráfica con las funciones clasicas de php como imagecreate(), imagecolorallocate(), imagegif() pero no termino de convencerme.

También me encontre con la libreria de JpGraph pero sinceramente no me agrado tampoco.

También me encontre con muchas otras maneras de hacer gráficas. A continuación les dejo una lista de links por si desean verlas:
(continue reading...)

64eefc0b845372cbcf378327bcf0c4db
Share via email

Copyright © 1996-2010 Recursos Del Web. All rights reserved.
iDream theme by Templates Next | Powered by WordPress