Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2012, 16:12
mogurbon
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Aporte- Selects dependientes con xajax y pdo

Saludos a la banda forera aquí con ostro aporte , vi hace poco que el tema de selects dependientes es recurrente así que me puse a hacer uno utilizando xajax y ya cambiando las consultas a pdo , gracias al Triby que se chuto las revisiones correspondientes , sin mas aquí el code

Código PHP:
Ver original
  1. <?php
  2. #Autor Gerardo Aquino Lopez
  3. #select dependientes con pdo y xajax
  4. require("./xajax/xajax_core/xajax.inc.php");#incluyo xajax
  5. include_once("../connpdo/connpdo.php");#mi conexion con pdo
  6. $xajax=new xajax();#creo el objeto
  7. $xajax->configure('javascript URI','xajax');#defino el path del javascript de la libreria xajax
  8.  
  9. /****************************funcion malevola********************************************/
  10. function estados($id_pais)
  11.  {
  12.      global $conn;#globalizo la conexion
  13.      $objResponse = new xajaxResponse();#creo mo objeto response
  14.      $sql = "SELECT `id`,`opcion` FROM `lista_estados` where relacion='$id_pais'";#query con el id del pais
  15.      $query = $conn->query($sql);
  16.      /******************armado del segundo select dependiente***************************/
  17.      $html.="<label for='estado'>Estado:</label>";
  18.      $html.="<select name='estado' id='estado'>";
  19.      while( $fila = $query->fetch(PDO::FETCH_ASSOC) ){
  20.         $html.="<option value='{$fila['id']}'>{$fila['opcion']}</option>";
  21.      }
  22.      $html.="</select>";
  23.      $objResponse->assign('divestado','innerHTML',$html);#metodo assign al div que contendra el segundo select
  24.      
  25.      return $objResponse;
  26.  }
  27.  $xajax->register(XAJAX_FUNCTION,'estados');#registrado de la funcion malevola
  28. $xajax->processRequest();#manejo magico del ajax
  29. ?>
  30. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  31. <html xmlns="http://www.w3.org/1999/xhtml">
  32. <head>
  33. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  34. <title>Select dependientes con xajax</title>
  35. <?php $xajax->printJavascript(); #impresion del javascript necesario?>
  36. </head>
  37.  
  38. <body>
  39. <label for="paises">Paises:</label>
  40. <?php
  41. $sql = "SELECT `id` , `opcion` FROM `lista_paises`";
  42. $query = $conn->query($sql);
  43. ?>
  44. <!--aqui llamo a la funcion registrada en xajax-->
  45. <select name="paises" id="paises" onchange="xajax_estados(this.value);">
  46. <?php
  47. while( $fila = $query->fetch(PDO::FETCH_ASSOC) ){
  48. ?>
  49.    <option value="<?php echo $fila["id"] ?>"><?php echo $fila["opcion"] ?></option>
  50. <?php } ?>
  51. </select>
  52.  
  53. <!--aqui va a estar el segundo select que cambiara-->
  54. <div id="divestado">
  55. <label for="estados">Estados:</label>
  56. <select name="estados" id="estados">
  57.  
  58.    <option value=""></option>
  59.  
  60. </select>
  61. </div>
  62. </body>
  63. </html>
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo