Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   Listas desplegables anidadas y linkeables (http://www.forosdelweb.com/f127/listas-desplegables-anidadas-linkeables-576809/)

marx-pola 16/04/2008 20:02

Listas desplegables anidadas y linkeables
 
Ufff! Hola a todos. Estuve viendo varios de estos ejemplos en el foro y creo que de todos los que vi, se me hizo un matete en la cabeza y ahora no sé para donde correr. Por favor, necesitaría que me orienten a ver cual de todas las opciones es la mejor para hacer lo siguiente...

Tengo una base de datos con varias tablas que se relacionan entre sí. Todas están dentro de un formulario el cual me va a traer el resultado de lo que filtre y son listas desplegables que van a actuar como filtros:

TABLA PAISES
id_pais
desc_pais

TABLA PROVINCIAS
id_provincia
desc_provincia
id_pais

TABLA LOCALIDADES
id_localidad
desc_localidad
id_provincia

TABLA EMPRESAS
id_empresa
desc_empresa


Pero la duda me surgió ahora con esto que les voy a preguntar... se me ocurrió agregar otra tabla que contiene RUBROS, por ejemplo CINES, DISCOS, etc.
Ahora... como hago para que al seleccionar un PAIS me traiga los rubros de ese país y a partir de ahí seleccionar cada rubro y que comience el filtrado?

Creo que más que nada tengo un tema con la organización, no? Yo pensaba hacer las listas desplegables con consultas a la base, pero no sé si es mejor así o hacerlas con javascript como vi en otros ejemplos o con ambos.

Desde ya, muchas gracias por su atención. Un saludo cordial. MArx

husky_white 16/04/2008 22:57

Re: Listas desplegables anidadas y linkeables
 
Saludos Marx, para lo que tu quieres hacer lo mejor que se puede usar es la librería xajax para php. Yo tambien estube buscando hacer eso mismo con las listas desplegables o select combinado y encontré esta librería que me permite hacer la consulta de las tablas sin necesidad de cargar de nuevo la página.
XAJAX Es una combinación de Java y php, es vastante fácil de utilizar y no necesita mucho conocimiento de Java.

marx-pola 17/04/2008 07:06

Re: Listas desplegables anidadas y linkeables
 
Gracias amigo por responder. Me podrías decir que librería es para buscarla? Y se puede hacer eso con varias tablas relacionadas?

Gracias de nuevo. MArx.

marx-pola 17/04/2008 12:35

Re: Listas desplegables anidadas y linkeables
 
Chicos... es mejor hacerlo en ajax?

GatorV 17/04/2008 14:48

Re: Listas desplegables anidadas y linkeables
 
Lo ideal es que lo hagas en AJAX, revisa el foro de AJAX, en las FAQs podrás encontrar mucha información al respecto.

Saludos.

marx-pola 21/04/2008 14:26

Re: Listas desplegables anidadas y linkeables
 
Gracias GatorV. Revisé y encontré lo que necesitaba. Ahora tengo una duda, más que nada sobre una pavadilla.

El ejemplo de ajax que utilicé fue el de esta web http://www.formatoweb.com.ar/ajax/se..._3_niveles.php. Seleccionando TODOS los filtros, pude traer el resultado de la última lista, pero me surgió una duda como aparecen en las listas de la página mencionada más arriba...

¿Cómo hago para listar TODO al seleccionar solo la primer lista... ó la primera + la segunda... sin llegar a la última? Seguro es una pavada, pero no le encuentro la vuelta.

Mi idea es hacer un estilo parecido a esta web, que trabaja con estos filtrados, como por ejemplo http://autos.demotores.com.ar (no es mi intención spammear... lo aclaro por las dudas).

Muchísimas gracias por todo, como siempre.

Saludos. Marx

marx-pola 21/04/2008 14:33

Re: Listas desplegables anidadas y linkeables
 
Creo que me olvidé de poner el código con el que estoy trabajando. Acá va:
Código PHP:

<?php
include ("conectar.php");

// conexion a la base
$conexion mysql_connect($host_db$usuario_db$pass_db) or die ("no se ha podido conectar a la BD");
mysql_select_db($base_db$conexion) or die ("no se ha podido seleccionar la BD");

?>


<table width="99%" border="0" align="center" cellpadding="0" cellspacing="0" class="txt-fotos-verd-08">
  <tr>
    <td width="494" height="30" align="center"><strong>LISTADO</strong></td>
  </tr>
  <tr>
    <td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="cuadro-listaprodtodos">
      <tr>
        <td width="6%" height="30" align="center"><strong>ID</strong></td>
        <td width="16%" height="30"><strong>empresa</strong></td>
        <td width="10%">&nbsp;</td>
      </tr>
      <?

if(isset($_POST['boton']))
$select3 trim($_POST['select3']);

// Ejecuto la consulta
$sql "SELECT * FROM empresas WHERE relacion = $select3";
$consulta mysql_query($sql$conexion);

while (
$row mysql_fetch_array($consulta))  {   ?>
      <tr>
        <td width="6%" height="36" align="center" valign="top" class="lineasup-lineainf"><? echo $row['id_empresa'];?></td>
        <td width="16%" height="36" valign="top" class="lineasup-lineainf"><? echo $row['empresa'];?></td>
        <td width="10%" height="36" valign="top" class="lineasup-lineainf"><a href="01_prod_detalles.php?idprod=<? echo $row['id_empresa'];?>" target="prod">ver mas... </a></td>
      </tr>
      <?  }

            
//libero el recordset
            
mysql_free_result($consulta);


        
// Cierro la conexion
        
mysql_close($conexion); 

  
?>
    </table></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

El select3 es el de la última lista desplegable. Así sí me trae todo lo que le pido, pero tengo que pasar por todos los filtros.
Las primeras 2 listas desplegables corresponden a las tablas que son select1 y select2. Pero no sé si me va a dejar por como está programado el ejemplo de la web de donde lo saqué. Solo me estaría faltando eso y ya casi tendría lo que necesito.

Desde ya mil gracias otra vez.
Saludos. Marx.

marx-pola 22/04/2008 11:45

Re: Listas desplegables anidadas y linkeables
 
¿Alguna sugerencia chicos? mmm... ¿tengo que pasar al foro de ajax?

GatorV 22/04/2008 14:38

Re: Listas desplegables anidadas y linkeables
 
Tema trasladado a AJAX.


La zona horaria es GMT -6. Ahora son las 10:45.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.