Foros del Web » Programando para Internet » PHP »

selects

Estas en el tema de selects en el foro de PHP en Foros del Web. una pregunta, como hago para poner x ejemplo q cuando el usuario elija una opcion de un select, salga en otro select algo q tenga ...
  #1 (permalink)  
Antiguo 27/07/2003, 16:25
 
Fecha de Ingreso: marzo-2003
Ubicación: Argentina
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 0
selects

una pregunta, como hago para poner x ejemplo q cuando el usuario elija una opcion de un select, salga en otro select algo q tenga q ver con el select q eligio. Por ejemplo si selecciona Argentina, que le aparezca en otro select todas las provincias. Y cuando elija Estados Unidos, aparezca los estados. Quisiera poder hacer eso sin tener q actualizar la pagina. Se puede hacer eso en PHP??
Tambien como hacer lo mismo pero si los datos estan en un MySQL
  #2 (permalink)  
Antiguo 27/07/2003, 17:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En las FAQ's de este foro tienes un ejemplo en PHP .. con lo cual TIENES que actualizar la página ...:

http://www.forosdelweb.com/showthrea...608#post327608

Ese ejemplo te servirá por si tienes todos tus datos relacionados en una BD ...

Pero si no quieres actualizar la "página" .. esto es taréa de Javascript (y en sus FAQ's tienen un ejemplo). Y para eso .. si tienes tus datos en una BD .. antes deberás cargar tus datos en los arrays de javascritp que usan ese típo de rutinas ..

SI no són muchos datos y estos más bien son fijos .. la opción javascript es la que más te acomoda .. Si són muchos datos o bien son variables .. mejor usa la opción PHP. Si no quieres recargar toda la página .. mete ese par de select's en un iframe y gestionate las variables desde Javascrip para el tema de iframe .. así sólo "recargaras" el iframa y no la página completa ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 27/07/2003, 18:47
 
Fecha de Ingreso: marzo-2003
Ubicación: Argentina
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 0
ahhh gracias!!
  #4 (permalink)  
Antiguo 28/07/2003, 12:36
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Para ver el ejemplo, dirijase al siguiete enlace. ya está completo



http://www.forosdelweb.com/s0a820c2c...msg144903.html


Quité el código que estaba acá, porque en el enlace anterior está mas completo.



Última edición por biblio; 30/07/2003 a las 22:33
  #5 (permalink)  
Antiguo 28/07/2003, 16:00
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Por lo que veo a nadie le gustó la idea de probar y sacar el error. Si no lo hacen en 1 hora, desaparecerá ese script. jeje.

Es en serio.


Saludos
  #6 (permalink)  
Antiguo 28/07/2003, 19:17
 
Fecha de Ingreso: marzo-2003
Ubicación: Argentina
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 0
ese script no me funciona (aparte de q no lo entiendo )
  #7 (permalink)  
Antiguo 28/07/2003, 19:21
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
no lo entiendes...umm, creo que necesitas leer lo 1º las FAQ unpar de veces.... antes de meterte con ese codigo... no te lo tomes mal... pero si no lo entiedes como lo vas a modificar o utilizar... antes de caminar hay que gatear.... y antes de chupar de la teta hay que llorar... pues aqui lo mismo... empieza con las FAQ o que alguien te lo desmonte por piezas y te lo explique...

solo es un consejo... no te lo tomes a mal... estamos para ayudar no para criticar...;)
__________________
3w.valenciadjs.com
3w.laislatv.com
  #8 (permalink)  
Antiguo 28/07/2003, 19:44
 
Fecha de Ingreso: julio-2003
Mensajes: 8
Antigüedad: 14 años, 4 meses
Puntos: 0
una pregunta yo tengo la misma duda sobre los select , osea mas bien kiero hacer eso yo tambien.

pero en este ejemplo no veo donde esta el cierre del form

primero lo esoty leyendo a ver silo entiendo y luego veo si me resulta

pero hasta el moento tengo esa dua


chau

  #9 (permalink)  
Antiguo 28/07/2003, 19:48
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Bueno, creo que el problema esta en este bucle...

Código PHP:
<?php
    $resultsubcat 
mysql_query($sqlsubcat$mysql);

    
$counterphp 0;
    
$cat "trash";

    while(
$rows mysql_fetch_object($resultsubcat)):
        if (
$cat != trim($rows->IdCategoria)){
            
$counterphp 0;
            
$cat $rows->IdCategoria;
            echo 
"var option".$cat." = new Array();\n";
        }
        echo 
'option'.$cat.'['.$counterphp.']=new _tupla("'.$rows->SubCategoria.'","'.$rows->IdSubCategoria.'");'."\n";
        
$counterphp ++;
    endwhile;
?>
A ver si le encuentro la falla, porque en Javascript no soy muy bueno... y tampoco en PHP...
__________________
Manoloweb
  #10 (permalink)  
Antiguo 28/07/2003, 19:58
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Je je!!

Pues no, el problema esta en el query de la sub categoria...
Código PHP:
$sqlsubcat    "SELECT s.IdSubCategoria,s.IdCategoria,s.SubCategoria "
                
"FROM SubCategorias s "
                
"ORDER BY [b]s.IdCategoria,[/b] s.SubCategoria"
__________________
Manoloweb
  #11 (permalink)  
Antiguo 28/07/2003, 20:00
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Muy bueno el script Biblio!!!

Pero no apresures a la gente, si yo borrara todas las respuestas mias que no toman en cuenta en un par de horas... estarian la mitad de mis post en blanco
__________________
Manoloweb
  #12 (permalink)  
Antiguo 28/07/2003, 20:06
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Por cierto... si a alguien le sirve, esta es la BD que tuve que hacer para hacer las pruebas...

# MySQL-Front Dump 2.4
#
# Host: localhost Database: db
#--------------------------------------------------------
# Server version 3.23.47-nt


#
# Table structure for table 'categorias'
#

DROP TABLE IF EXISTS categorias;
CREATE TABLE `categorias` (
`IdCategoria` tinyint(3) unsigned NOT NULL auto_increment,
`Categoria` varchar(50) default NULL,
PRIMARY KEY (`IdCategoria`)
) TYPE=MyISAM;



#
# Dumping data for table 'categorias'
#
INSERT INTO categorias VALUES("1", "Herramientas");
INSERT INTO categorias VALUES("2", "Consumibles");
INSERT INTO categorias VALUES("3", "Hogar");
INSERT INTO categorias VALUES("4", "Cerraduras");


#
# Table structure for table 'subcategorias'
#

DROP TABLE IF EXISTS subcategorias;
CREATE TABLE `subcategorias` (
`IdSubCategoria` tinyint(3) unsigned NOT NULL auto_increment,
`IdCategoria` tinyint(3) unsigned default NULL,
`SubCategoria` varchar(50) default NULL,
PRIMARY KEY (`IdSubCategoria`)
) TYPE=MyISAM;



#
# Dumping data for table 'subcategorias'
#
INSERT INTO subcategorias VALUES("1", "1", "Taladros");
INSERT INTO subcategorias VALUES("2", "1", "Martillos");
INSERT INTO subcategorias VALUES("3", "1", "Sierras");
INSERT INTO subcategorias VALUES("4", "2", "Tornillos");
INSERT INTO subcategorias VALUES("5", "2", "Clavos");
INSERT INTO subcategorias VALUES("6", "2", "Alambre");
INSERT INTO subcategorias VALUES("7", "3", "Puertas");
INSERT INTO subcategorias VALUES("8", "3", "Ventanas");
INSERT INTO subcategorias VALUES("9", "3", "Pisos");
INSERT INTO subcategorias VALUES("10", "4", "Perilla");
INSERT INTO subcategorias VALUES("11", "4", "Llaves");
INSERT INTO subcategorias VALUES("12", "4", "Candados");
__________________
Manoloweb
  #13 (permalink)  
Antiguo 28/07/2003, 20:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
biblio

Cuando pongas un script de esas características en el que intervengan varias tablas SQL . sería altamente recomendable que pusieras la estructura de ambas tablas (como para ponerlo fácil para que quede como "tutorial" si llegase el caso). Un SQL "dump" de esas dos tablas .. tal vez con datos de ejemplo sería lo ideal como para probarlo bien. (fijate en la FAQ que puse .. ni mucho menos es una maravilla .. pero por lo menos está todo listo para tomarlo y probarlo rápidamente ..)

Un saludo,

pd: jeje .. Manoloweb .. eso es lo que me refería xD
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 28/07/2003, 21:12
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Manolo tomare el # MySQL-Front Dump 2.4, que hiciste para hacerlo completo, que tipo de licencia tiene tiene tu "DUMP". jejeje.

Ah!, y no acertaron el "problemilla", ya les diré en un rato, mistrioso?, no, solo que no tengo tiempo.

Saludos.
  #15 (permalink)  
Antiguo 28/07/2003, 21:16
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pues yo dije que el problemilla era que el query no estaba considerando el orden por categorias, y por esa razon los arrays de javascript se hacian desordenados...

Bueno, no dije eso, pero puse la solucion...
__________________
Manoloweb
  #16 (permalink)  
Antiguo 30/07/2003, 22:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(un poco tarde .. pero ..)

Probé el script bibilio .. La técnica de cargar un array javascript con datos dinámicos de una BD .. está muy bien y el efecto es bueno (no se recarga la página) ..

Pero ..(siempre hay un pero) .. Está bien esta técnica con pocos registros en total (el total de registros que tengan las categorias y sub-categorias)... Hice mi prueba con "31.000" registros (de un listado de calles x comuna) y .. bueno .. no aguantó mi navegador xDDDD.

Para esos casos es recomendable usar la técnica que describí en las FAQ's que recomendé .. Pero .. como siempre .. si a esa técnica le unimos javascript y frames (o iframes) "ocultos" se pueden conseguir cosas bastante curiosas y efectivas para cargar mucho dato .. como por ejemplo como lo hacen en:

http://www.entelwill.cl/will_prevent...a_FramesPM.asp

(la página está en ASP .. pero la técnica de javascript+frames ocultos es la misma si lo implementasemos en PHP ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 30/07/2003, 22:30
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Efectivamente, cuando hay demasiados datos se puede sobrecargar la memoria y finalmente puede colapsar la máquina cliente.

Pero, esto no está pensado para manejar grandes datos, tampoco tengo conocimiento cuanto dato puede soportar una operación de estos, con datos pequeños funciona muy bien. Ya pues Cluster, 31.000 datos es considerable.

Si igual les interesa esto de los select, se pueden dirigir al siguiente enlace.


http://www.forosdelweb.com/s0a820c2c...msg144903.html


Cita:
(la página está en ASP .. pero la técnica de javascript+frames ocultos es la misma si lo implementasemos en PHP ..)
Bueno con respecto a lo que mencionas, tengo un código, hasta con tres combos, usando frmaes porsupuesto, si me alcanza tiempo lo publico.

Saludos a todos.

Última edición por biblio; 30/07/2003 a las 23:11
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 13:15.