Sv Community El Salvador

Soporte y Tecnología => Programación => Scripts => Topic started by: Reptile on September 22, 2010, 02:51:09 pm

Title: Combobox dependientes
Post by: Reptile on September 22, 2010, 02:51:09 pm
Buen Día

Necesito crear unos combobox dependientes, así como departamento - municipio (por ejemplo) y las opciones del select las tengo en la base de datos.
He buscado en internet pero nu hay un ejemplo claro, o son demasiado astrales.

Incluso he visto ejemplos donde se hace sin refrescar la página, ni envíar variables creo con javascript

Estoy trabajando en php con MySQL

Alguien que ya hecho de estos combobox?
Title: Re: Combobox dependientes
Post by: JGuillen™ on September 22, 2010, 02:54:23 pm
lo has intentado con Ajax y JQuery?  ;)


Te dejo un par de ejemplos...
http://www.recursosdelweb.com/combos-dependientes-utilizando-php-mysql-y-jquery-javascript/ (http://www.recursosdelweb.com/combos-dependientes-utilizando-php-mysql-y-jquery-javascript/)
http://www.miguelmanchego.com/2009/combos-dependientes-ajax-jquery/ (http://www.miguelmanchego.com/2009/combos-dependientes-ajax-jquery/)
http://www.anieto2k.com/2008/05/27/combos-dependientes-accesibles-php-jquery/ (http://www.anieto2k.com/2008/05/27/combos-dependientes-accesibles-php-jquery/)


Espero te sirvan... si en caso no logras implementarlos me avisas y te ayudo!!   ;)

Title: Re: Combobox dependientes
Post by: Reptile on September 22, 2010, 03:01:34 pm
lo has intentado con Ajax y JQuery?  ;)


Te dejo un par de ejemplos...
http://www.recursosdelweb.com/combos-dependientes-utilizando-php-mysql-y-jquery-javascript/ (http://www.recursosdelweb.com/combos-dependientes-utilizando-php-mysql-y-jquery-javascript/)
http://www.miguelmanchego.com/2009/combos-dependientes-ajax-jquery/ (http://www.miguelmanchego.com/2009/combos-dependientes-ajax-jquery/)
http://www.anieto2k.com/2008/05/27/combos-dependientes-accesibles-php-jquery/ (http://www.anieto2k.com/2008/05/27/combos-dependientes-accesibles-php-jquery/)


Espero te sirvan... si en caso no logras implementarlos me avisas y te ayudo!!   ;)



Ok, ahorita reviso y te cuento gracias
Title: AYUDA Y Duda sobre javascript
Post by: –•(-•Pikachu•-)•– on January 09, 2012, 07:39:48 pm
Dicen que es mejor pecar de ignorante una vez XD
asi que vengo a pedirles ayuda...

voy a tratar de explicarlo de manera sencilla y a como lo entiendo yo.

Quiero "robarme" bueno copiar el java de una pagina web para implementarlo en una pagina propia pero obviamente adaptarlo luego con mis cosas propias.

se puede?
que necesito?
Title: Re: Duda sobre pagina en java
Post by: raiderek on January 09, 2012, 07:50:11 pm
Javascript de una página? Click derecho>Ver codigo fuente

Si eso es lo que querés, solo es de copiar y pegar en tu página... no necesitás nada más.

Title: Re: Duda sobre pagina en java
Post by: –•(-•Pikachu•-)•– on January 09, 2012, 08:02:32 pm
Javascript? Click derecho>Ver codigo fuente

no me deja ver el codigo
y lo que deja ver, no deja ver la base de datos de donde lo jala.
Title: Re: Duda sobre pagina en java
Post by: raiderek on January 09, 2012, 08:06:22 pm
Ha de ser en php lo que querés y ese código hasta donde yo se no se puede copiar del navegador. Mucho menos los datos de conexión con la base de datos.

Que código es el que querés?


(Apreté tankyou en lugar de quote)
Title: Re: Duda sobre pagina en java
Post by: ken2 on January 09, 2012, 08:06:31 pm
No se puede, java es como .aspx o .php, su código no lo muestra al usuario-cliente, por razones
de seguridad.  :drinks:
Title: Re: Duda sobre pagina en java
Post by: Jaru on January 09, 2012, 08:06:45 pm
link pagina?

java o javascript?

si queres la "base de datos" como tal, no tendrias que hackear el sitio y entrar sin permiso.

mas bien siento que la pregunta no esta del todo acorde a lo que necesitas, podrias ser mas específica para que los amigos que conocen de eso y estan dispuestos a ayudarte lo hagan de la mejor manera
Title: Re: Duda sobre pagina en java
Post by: edu_guerr on January 09, 2012, 08:18:10 pm
No se puede, java es como .aspx o .php, su código no lo muestra al usuario-cliente, por razones
de seguridad.  :drinks:
x2

si lo que queres es copiar parte del codigo original en asp, jsp o php..no podrias hacer eso..el navegador te mostrara siempre el puro html..

(http://imagenes.mailxmail.com/cursos/imagenes/6/4/arquitectura-de-base-de-datos-para-la-web_22846_5_2.jpg)
Title: Re: Duda sobre pagina en java
Post by: –•(-•Pikachu•-)•– on January 09, 2012, 08:21:10 pm
la pagina es html y tiene incrustado un java yo ese java es el ke kiero
Title: Re: Duda sobre pagina en java
Post by: TK! on January 09, 2012, 08:22:26 pm
Mejor solicita lo que quieres hacer y a venga el todo poderoso Jaime a ayudarte =)
Title: Re: Duda sobre pagina en java
Post by: Jaru on January 09, 2012, 08:24:41 pm
creo que queres el javascript.

podrias replantear tu pregunta?

es posible que pongas el link de la pagina?

cuando decis "quiero el java" como sabes que es el java lo qe queres? es un archivo .jsp? .jar? .jad?
Title: Re: Duda sobre pagina en java
Post by: –•(-•Pikachu•-)•– on January 09, 2012, 08:25:55 pm
link. http://www.exide.com.mx/

quiero esa funcion donde dice busca tu bateria.

espero esto apoye mi pregunta.

perdon si no puedo plantearla bien :(
Title: Re: Duda sobre pagina en java
Post by: Jaru on January 09, 2012, 08:30:47 pm
vaya, ahora ya se entiende.

(http://i.imgur.com/Ssx1w.png)

de esto de arriba puedo ver:

4 dropdowns que sirven de filtro para extraer informacion:
en cada onchange de los dropdowns se envia un request a la siguiente url
http://www.exide.com.mx/lib/getBuscaBat.php?option=X&data=Y~Z
donde X, Y y Z son variables que se extraen de los dropdowns
el resultado viene directamente en HTML, solo para hacer un PASTE en el selector del dom correspondiente.

de todo esto que queres?

queres solo los dropdowns relacionados?
queres que una vez seleccionado los dropdowns se busque la informacion?
o queres TODOS LOS DATOS QUE CADA COMBINACION DA?

todo se puede sacar, solo explica que queres

PS: no hay java envuelto, solo el javascript que hace que las cajitas desplegables esten relacionadas y la detección de eventos que llaman a la página Php via Ajax.

esta bien facil, si anduviera tiempo te lo hago gratis
Title: Re: Duda sobre pagina en java
Post by: –•(-•Pikachu•-)•– on January 09, 2012, 08:36:52 pm
vaya, ahora ya se entiende.

(http://i.imgur.com/Ssx1w.png)

de esto de arriba puedo ver:

4 dropdowns que sirven de filtro para extraer informacion:
en cada onchange de los dropdowns se envia un request a la siguiente url
http://www.exide.com.mx/lib/getBuscaBat.php?option=X&data=Y~Z
donde X, Y y Z son variables que se extraen de los dropdowns
el resultado viene directamente en HTML, solo para hacer un PASTE en el selector del dom correspondiente.

de todo esto que queres?

queres solo los dropdowns relacionados?
queres que una vez seleccionado los dropdowns se busque la informacion?
o queres TODOS LOS DATOS QUE CADA COMBINACION DA?

todo se puede sacar, solo explica que queres


pues lo quiero todo :D

al fin alguien me entendió  :)

ojala que también alguien me ayude con eso!  :thumbsup:
Title: Re: Duda sobre pagina en java
Post by: hkadejo on January 09, 2012, 08:53:04 pm
Lo que pides no es Java...solo Javascript...la funcionalidad que andas buscando es "Combos encadenados" o "Combos interdependientes" o algo asi.
Title: Re: Duda sobre pagina en java
Post by: Jaru on January 09, 2012, 08:54:17 pm
Lo que pides no es Java...solo Javascript...la funcionalidad que andas buscando es "Combos encadenados" o "Combos interdependientes" o algo asi.
creo que quiere todo lo que hace, controles busqueda y muestra de datos, todo OFFLINE.

con un fetching de todas las combinaciones se hace en unos 15 minutos
Title: Re: Duda sobre pagina en java
Post by: –•(-•Pikachu•-)•– on January 09, 2012, 08:57:34 pm
Lo que pides no es Java...solo Javascript...la funcionalidad que andas buscando es "Combos encadenados" o "Combos interdependientes" o algo asi.

creo que quiere todo lo que hace, controles busqueda y muestra de datos, todo OFFLINE.

con un fetching de todas las combinaciones se hace en unos 15 minutos

justamente naruto explico lo que necesito!
perdon por no saber explicarme :(
Title: Re: Combobox dependientes
Post by: JaiMe on January 10, 2012, 04:07:23 pm
Estaba viendo el codigo de esa pagina y como que lo han hecho con las patas. Asi como dice Naruto, cada ves que un elemento select cambia, este hace un request hacia getBuscaBat.php esto no estaria tan mal si tuvieras una cantidad de datos inmensa, lo peor de todo es que la response de el servidor llega en text/html.

Servir html mediante Ajax requests en estos tiempos es un mal patron a seguir. Solo me recuerda bastante al terrible RJS en versiones previas de Ruby on Rails, cuando el framework mandaba respuestas de typo text/javascript.

Este tipo de patrones es bastate comun para los programadores de PHP. Mi consejo siempre es mandar respuestas en formato JSON si vas a usar Ajax, y de ser posible manda todo de un solo y construi el HTML en el lado del cliente. Si sos desarrollador web y enfrentas problemas como estos, veni a preguntar a SVC para recibir orientacion.

Para ejemplificar lo que estoy diciendo, esta es una respuesta text/html de esa pagina
Code: [Select]
<select name='cMarca' id='cMarca' style='width:185px;' onchange='updCombo(2,this.options[this.selectedIndex].value)'>
  <option value='0' selected='selected'> -- Marca -- </option>
  <option value='18'> ACURA </option>
  <option value='19'> ALFA ROMEO </option>
  <option value='20'> AUDI </option>
  <option value='21'> BMW </option>
  <option value='22'> BUICK </option>
  <option value='23'> CADILLAC </option>
  <option value='24'> CHEVROLET </option>
  <option value='25'> CHEVROLET GMC </option>
  <option value='26'> CHEVROLET PICKUP </option>
  <option value='27'> CHRYSLER, DODGE Y JEEP </option>
  <option value='28'> FAW </option>
  <option value='29'> FIAT </option>
  <option value='30'> FORD </option>
  <option value='31'> HONDA </option>
  <option value='32'> HUMMER </option>
  <option value='33'> ISUZU </option>
  <option value='34'> JAGUAR </option>
  <option value='35'> LAND ROVER </option>
  <option value='36'> LINCOLN </option>
  <option value='37'> MAZDA </option>
  <option value='38'> MERCEDES BENZ </option>
  <option value='39'> MG ROVER </option>
  <option value='40'> MINI COOPER </option>
  <option value='41'> MITSUBISHI </option>
  <option value='42'> NISSAN </option>
  <option value='43'> PEUGEOT </option>
  <option value='44'> PIAGGIO </option>
  <option value='45'> PONTIAC </option>
  <option value='46'> PORSCHE </option>
  <option value='47'> RENAULT </option>
  <option value='48'> SAAB </option>
  <option value='49'> SEAT </option>
  <option value='50'> SMART </option>
  <option value='51'> SUBARU </option>
  <option value='52'> SUZUKI </option>
  <option value='53'> TOYOTA </option>
  <option value='54'> VAM </option>
  <option value='55'> VOLKSWAGEN </option>
  <option value='56'> VOLVO </option>
</select>


Cuando una respuesta application/json (header oficial puede variar para otros clientes) seria asi

Code: [Select]
{ "18": "ACURA",
  "19": "ALFA ROMEO",
  "20": "AUDI",
  "21": "BMW",
  "22": "BUICK",
  "23": "CADILLAC",
  "24": "CHEVROLET",
  "25": "CHEVROLET GMC",
  "26": "CHEVROLET PICKUP",
  "27": "CHRYSLER, DODGE Y JEEP",
  "28": "FAW",
  "29": "FIAT",
  "30": "FORD",
  "31": "HONDA",
  "32": "HUMMER",
  "33": "ISUZU",
  "34": "JAGUAR",
  "35": "LAND ROVER",
  "36": "LINCOLN",
  "37": "MAZDA",
  "38": "MERCEDES BENZ",
  "39": "MG ROVER",
  "40": "MINI COOPER",
  "41": "MITSUBISHI",
  "42": "NISSAN",
  "43": "PEUGEOT",
  "44": "PIAGGIO",
  "45": "PONTIAC",
  "46": "PORSCHE",
  "47": "RENAULT",
  "48": "SAAB",
  "49": "SEAT",
  "50": "SMART",
  "51": "SUBARU",
  "52": "SUZUKI",
  "53": "TOYOTA",
  "54": "VAM",
  "55": "VOLKSWAGEN",
  "56": "VOLVO"}

* si los valores que mandas, son secuenciales usa un array con el index 0 como punto de comienzo.

Code: [Select]
[ "18", "ACURA", "ALFA ROMEO", "AUDI", "BMW", "BUICK", "CADILLAC", "CHEVROLET",
  "CHEVROLET GMC", "CHEVROLET PICKUP", "CHRYSLER, DODGE Y JEEP", "FAW", "FIAT",
  "FORD", "HONDA", "HUMMER", "ISUZU", "JAGUAR", "LAND ROVER", "LINCOLN", "MAZDA",
  "MERCEDES BENZ", "MG ROVER", "MINI COOPER", "MITSUBISHI", "NISSAN", "PEUGEOT",
  "PIAGGIO", "PONTIAC", "PORSCHE", "RENAULT", "SAAB", "SEAT", "SMART", "SUBARU",
  "SUZUKI", "TOYOTA", "VAM", "VOLKSWAGEN", "VOLVO" ]


Luego construis el HTML usando JavaScript. Hay bastantes beneficios, como

* consumir menos ancho de banda
* repuestas mas rápidas
* podes usar multiples clientes, no solo el buscador de internet