Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Combobox Dependientes Buscador

Estas en el tema de Combobox Dependientes Buscador en el foro de PHP en Foros del Web. Hola, le escribo en esta oportunidad para solicitar su ayuda en el siguiente proyecto tengo una pagina que hacer que me pide mostrar una gama ...
  #1 (permalink)  
Antiguo 13/03/2013, 20:43
 
Fecha de Ingreso: marzo-2013
Mensajes: 10
Antigüedad: 8 años
Puntos: 0
Busqueda Combobox Dependientes Buscador

Hola, le escribo en esta oportunidad para solicitar su ayuda en el siguiente proyecto tengo una pagina que hacer que me pide mostrar una gama de productos por Categorias, Marcas, Productos...
Estas son cargadas a una Base de Datos utilize el codigo de:

http://www.formatoweb.com.ar/blog/2007/08/20/clase-para-generar-automaticamente-select-combos-dependientes-multinivel/#comment-21527

Donde me funciona de maravilla aquí el ejemplo:

http://ascensoreslafortaleza.com/Buscador/test.php

pero ahora quiero hacer que al seleccionar el producto pueda darle a un boton y este me redireccione directo al producto ( No hay problema en la otra pagina ) mi problema es que no se como llamar a la variable de este caso Select_3..

Si alguien me puede ayudar si necesitan mas informacion avisen saludos..!
  #2 (permalink)  
Antiguo 14/03/2013, 01:13
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 12
Respuesta: Combobox Dependientes Buscador

No sé si esta sea la forma más óptima pero así lo hice yo y me funciona.

- A las opciones del tercer select le cargué como valores el nombre de la página a la que quiero redirigir esa opción. Por ejemplo:

Código HTML:
<select name="coches">
<option selected="selected" value=""> </option>
<option value="compacto3.php">Compacto de 3 puertas</option>
<option value="compacto5.php">Compacto de 5 puertas</option> 
- Vinculé el formulario a una página común que se encarga de redirigir.
- En esta página coloqué como primera línea lo siguiente:

Código PHP:
header("location:" .$_POST["coches"]); 
Y listo. En mi caso no es un formulario que grabe, por lo cual no es un problema que los valores de los select sean "compacto3.php" por ejemplo. Supongo que esto se puede hacer de una forma más óptima pero esta es la que utilizo yo y me sirve.
  #3 (permalink)  
Antiguo 14/03/2013, 06:26
 
Fecha de Ingreso: marzo-2013
Mensajes: 10
Antigüedad: 8 años
Puntos: 0
Respuesta: Combobox Dependientes Buscador

sjj medio te entendi me puedes pasar mejor el codigo es que no entiendo del todo.. ya que no tengo select si no echos en php que hacen el funcionamiento de selects
  #4 (permalink)  
Antiguo 14/03/2013, 11:14
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 12
Respuesta: Combobox Dependientes Buscador

Si querés dejá aquí los select de tu código y te los modifico un poco del modo en que digo.
  #5 (permalink)  
Antiguo 14/03/2013, 17:55
 
Fecha de Ingreso: marzo-2013
Mensajes: 10
Antigüedad: 8 años
Puntos: 0
Respuesta: Combobox Dependientes Buscador

Lo tengo con los datos del JavaScript que mencione arriba y mi archivo test.php dice algo asi:

Código PHP:
Ver original
  1. <?php
  2. require 'classes/Form.class.php';
  3. require 'classes/DataAccess.class.php';
  4. require 'classes/ElementsFromDB.class.php';
  5. require 'classes/LinkedSelect.class.php';
  6.  
  7. $form=new Form('form', 'post');
  8.  
  9. $form->AddInput(array(
  10.     'elementsfromdb'=>array(
  11.         'table'=>'categoria',
  12.         'values'=>'nombre',
  13.         'options'=>'nombre',
  14.     ),
  15.     'attributes'=>array(
  16.         'type'=>'select',
  17.         'id'=>'select_1',
  18.         'name'=>'select_1'
  19.     ),
  20.     'externalclass'=>'elementsfromdb',
  21.     'selected'=>'1',
  22.     'default'=>array(
  23.         'value'=>'0',
  24.         'option'=>'Elige...'
  25.     )
  26. ));
  27. $form->AddInput(array(
  28.     'elementsfromdb'=>array(
  29.         'table'=>'marca',
  30.         'values'=>'nombre',
  31.         'options'=>'nombre',
  32.     ),
  33.     'attributes'=>array(
  34.         'type'=>'select',
  35.         'id'=>'select_2',
  36.         'name'=>'select_2'
  37.     ),
  38.     'externalclass'=>'linkedselect',
  39.     'linkedby'=>array(
  40.         'reference'=>'categoria',
  41.         'id'=>'select_1',
  42.         'showdefault'=>'0'
  43.     ),
  44.     'default'=>array(
  45.         'value'=>'0',
  46.         'option'=>'Elige...'
  47.     ),
  48.     'locations'=>array(
  49.         'js'=>'js/',
  50.         'php'=>'classes/'
  51.     )
  52. ));
  53. $form->AddInput(array(
  54.     'elementsfromdb'=>array(
  55.         'table'=>'producto',
  56.         'values'=>'id',
  57.         'options'=>'title',
  58.     ),
  59.     'attributes'=>array(
  60.         'type'=>'select',
  61.         'id'=>'select_3',
  62.         'name'=>'select_3'
  63.     ),
  64.     'externalclass'=>'linkedselect',
  65.     'linkedby'=>array(
  66.         'reference'=>'marca',
  67.         'id'=>'select_2',
  68.         'showdefault'=>'0'
  69.     ),
  70.     'default'=>array(
  71.         'value'=>'0',
  72.         'option'=>'Elige...'
  73.     ),
  74.     'locations'=>array(
  75.         'js'=>'js/',
  76.         'php'=>'classes/'
  77.     )
  78. ));
  79. $form->GenerateForm();
  80. ?>


y en el body dice algo como:
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <?php $form->GenerateAdditionalJS(); ?>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. </head>
  7.  
  8. <?php
  9. $form->GetInput('select_1');
  10. //echo "<br>";
  11. $form->GetInput('select_2');
  12. //echo "<br>";
  13. $form->GetInput('select_3');
  14. ?>
  15. </body>
  16. </html>
  #6 (permalink)  
Antiguo 14/03/2013, 20:21
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 12
Respuesta: Combobox Dependientes Buscador

Mmm, por lo que veo ha cambiado el diseño. Ayer cuando lo vi llegaban a verse opciones en el tercer combo (algo de LG o algo así).

En primer lugar te faltaría ponerle un botón de consultar o algo así. Conviene eso porque sino, si son demasiadas opciones, se hace un poco molesto con el onchange. Luego habría que ver cuáles son algunas de las opciones que querés vincular a otras páginas. Por ahora la única opción que veo es "Elige" e imagino que eso no es una opción.

Lo que tenés que modificar es el valor de los values en las opciones por los nombres de las páginas a redirigir. Te dejo mi ejemplo por las dudas. Si tenemos values con números (como creo tenés vos) sería algo así:

Código HTML:
Ver original
  1. <select name="coches">
  2. <option selected="selected" value=""> </option>
  3. <option value="0">Mediano</option>
  4. <option value="1">Grande</option>
  5. <option value="2">Lujo - Premium</option>
  6. <option value="3">Camioneta</option>

Ahora modificamos los value por los nombres de las páginas a las que deseamos redirigir. Por ejemplo:

Código HTML:
Ver original
  1. <select name="coches">
  2. <option selected="selected" value=""> </option>
  3. <option value="mediano.php">Mediano</option>
  4. <option value="grande.php">Grande</option>
  5. <option value="lujo.php">Lujo - Premium</option>
  6. <option value="camioneta.php">Camioneta</option>

La limitación es que si uno desea guardar en una tabla, te guardará esos valores medio sucios con la extensión .php. Pero no sé, tal vez te sirva :)

Última edición por sjj; 14/03/2013 a las 21:49
  #7 (permalink)  
Antiguo 17/03/2013, 00:39
 
Fecha de Ingreso: marzo-2013
Mensajes: 10
Antigüedad: 8 años
Puntos: 0
Respuesta: Combobox Dependientes Buscador

Gracias...!

Etiquetas: buscador, mysql, select
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:54.