Foros del Web » Programando para Internet » PHP »

Select dependientes sin JS? php y postgresql

Estas en el tema de Select dependientes sin JS? php y postgresql en el foro de PHP en Foros del Web. Pues eso, he estado mirando algunos hilos y demás pero todos o son con ajax, java script y demás... me gustaría saber si existe alguna ...
  #1 (permalink)  
Antiguo 06/04/2011, 04:34
 
Fecha de Ingreso: abril-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 1
Select dependientes sin JS? php y postgresql

Pues eso, he estado mirando algunos hilos y demás pero todos o son con ajax, java script y demás... me gustaría saber si existe alguna forma de ahcerlo sólo con php y postgresql, por el tema del explorer y javascript y demás... si no se puede pues con java script...

Haber, antes que nada, tengo ya un ejemplo que me hace 2 select dependientes, el problema, que tengo que introducir los valores del 2º select manualmente... y eso no me sirve, quiero cogerla según la opción elegida ene l 1º select y cogerla de la abse de datos, los 2 select son:

Provincias y Localidades (y quizás haga un 3º con paises, pero poco a poco xD)

Las tablas las tengo echa y configurada para que me conecte (las provincias ya las obtengo de la tabla)

Este es el código de los 2 select:

Código PHP:
<b>Provincia:*</b>
<select name ="provincias" onchange="cambiar(this.form)">
<?php 
    $res 
provincias($con);
    
$provincia 0;
    for (
$i 0$i <pg_num_rows($res); $i++) {
      
$fila pg_fetch_array($res$i);    
      
$provincia $fila['provincia'];?> 
      <option value = "<?php $provincia ?>"><?php echo "$provincia"?> </option>
    <?php
    
}    ?>
</select>

<b>Localidad:*</b>
<select name ="municipios">
 
 <option>  </option>
</select>
El código java script es este: pero es un ejemplo, como dije no me sirve, puesto que tengo que introducir los datos en el array manualmente:

Código Javascript:
Ver original
  1. <script languaje="JavaScript">
  2. <!--
  3. provincias = new Array();
  4. provincias[0] = new Array();
  5. provincias[1] = new Array('Almería','Cádiz','Córdoba','Granada','Huelva','Jaén','Málaga','Sevilla');
  6. provincias[2] = new Array('Huesca','Teruel','Zaragoza');
  7. provincias[3] = new Array('Asturias');
  8. provincias[4] = new Array('Baleares');
  9. function cambiar(formulario){
  10.   var i = 0;
  11.   var select1 = formulario['provincias'];
  12.   var select2 = formulario['municipios'];
  13.   var vector = provincias[select1.selectedIndex];
  14.   if(vector.length)select2.length=vector.length;
  15.   while(vector[i]){
  16.     select2.options[i].value = vector[i];
  17.     select2.options[i].text = vector[i];
  18.     i++;
  19.   }
  20.   select2.options[0].selected = 1;
  21. }
  22. </script>

Lo que he intentado es obtener de la base de datos un array con las localidades según la provincia escogida (la consulta sql está bien no preocuparse) e intentar meterlo en el array del javascript... pero php y java script... las 2 cosas a la vez para mi que no... xDD

Así que os pido que me iluminéis si no es mucho pedirrr, un saludo!!!
  #2 (permalink)  
Antiguo 06/04/2011, 11:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Select dependientes sin JS? php y postgresql

si lo que quieres es en tu codigo es facil mira con eso se llena automaticamente el js del segundo combo pero si te digo que lo que estas haciendo no es muy practico
<?php
$res = provincias($con);
$provincia = 0;
for ($i = 0; $i <pg_num_rows($res); $i++) {

echo "provincias[$i] = new Array();";
$res2 = Localidades ($con);
$arr="Array(";
for ($j = 0; $j <pg_num_rows($res2); $j++) {

$provincia = $fila['Localidad'];

$arr2= "'".$provincia."',";

}
$arr2 = substr ($arr2, 0, strlen($arr2) - 1);
echo $arr.$arr2.");";
} ?>
  #3 (permalink)  
Antiguo 07/04/2011, 01:40
 
Fecha de Ingreso: abril-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 1
Respuesta: Select dependientes sin JS? php y postgresql

Gracias por tu respuesta elmaspicudo!

Lo que apsa que sigue sin irme!!! no sé, quizás le esté dando tantas vueltas a la tontería ésta que la solución escapa de mis ojos!! aunque sea tan evidente!! jaja

A ver en un principio puse tu código donde tengo el otro, en php, donde añado en el select provincias las provincias... luego epnsando... será en el javascript? porque claro si creo un array... (aunque intenté pasarle por el método cambiar el vector que supuestamente se crea, pero nanai... los '2chos' no me muestran nada, si los pongo fuera me muestra algo raro xD

Total un lio jaja, A ver si me puedes echar otro cablecitooo, mira, suponiendo que el código php lo meta donde te dije la 1º vez... te lo pego a ver qué puede estar mal.. y luego de nuevo el codigo js, donde verás que en teoría le paso el vector que creo en php, porque... se peude hacer no? pasarle a js un vector que creé en php...

P.D: Lo de que no es muy práctico a qué te referías? a tener el js en el mismo archivo? si es así lo sé, ya lo cambiaré pero cuando me funcione, es por trabajar más "cómodo" xD

Código PHP:
<b>Provincia:*</b>
<select name ="provincias" onchange="cambiar(this.form, <?php $vector ?>)">
<?php 
    $res 
provincias($con);
    
$provincia 0;
    for (
$i 0$i <pg_num_rows($res); $i++) {

      
$fila pg_fetch_array($res$i);    
      
$provincia $fila['provincia'];?> 
      <option value = "<?php $provincia ?>"><?php echo "$provincia"?> </option>
    <?php
    

echo "provincias[$i] = new Array();";
$res2 municipios ($con$provincia);
$arr="Array(";
for (
$j 0$j <pg_num_rows($res2); $j++) {

$fila2 pg_fetch_array($res2$j);    
$municipio $fila2['municipio'];

$arr2"'".$municipio."',";

}
$arr2 substr ($arr20strlen($arr2) - 1);
echo 
$arr.$arr2.");";
$vector $arr.$arr2;

    
    
?>
</select>
<b>Localidad:*</b>
<select name ="municipios">
 
 <option>  </option>
</select>
Código Javascript:
Ver original
  1. <script languaje="JavaScript">
  2. <!--
  3. //provincias = new Array();
  4. //provincias[0] = new Array();
  5. //provincias[1] = new Array('Almería','Cádiz','Córdoba','Granada','Huelva','Jaén','Málaga','Sevilla');
  6. //provincias[2] = new Array('Huesca','Teruel','Zaragoza');
  7. //provincias[3] = new Array('Asturias');
  8. //provincias[4] = new Array('Baleares');
  9. function cambiar(formulario, vector2[]){
  10.  
  11.   var i = 0;
  12.   var select1 = formulario['provincias'];
  13.   var select2 = formulario['municipios'];
  14.   var vector = vector2[select1.selectedIndex];
  15.   if(vector.length)select2.length=vector.length;
  16.   while(vector[i]){
  17.     select2.options[i].value = vector[i];
  18.     select2.options[i].text = vector[i];
  19.     i++;
  20.   }
  21.   select2.options[0].selected = 1;
  22. }
  23. </script>
  #4 (permalink)  
Antiguo 07/04/2011, 01:55
 
Fecha de Ingreso: abril-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 1
Respuesta: Select dependientes sin JS? php y postgresql

Ahs e me olvidaba decir, el java script tiene que estar mal por huevos... (auqnue no me vaya que es evidente xD) porque en el explorer ni me carga al web (aunque en el mozilla si... viva el explorer!! ) y si le quito el js entonces me muestra la web...
  #5 (permalink)  
Antiguo 11/04/2011, 03:11
 
Fecha de Ingreso: abril-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 1
Respuesta: Select dependientes sin JS? php y postgresql

Seguí intentándolo... tengo digamos una cadena, que es la que me dijo "elmaspicudo" que tiene por ejemplo "Array ('sanlucar', 'jerez', 'chipiona');"

lo que quiero hacer es como pasar esa cadena que está en PHP pasarla al ajvascript, es decir crear un array en Javascript que tenga esa cadena como elementos...

un ejemplo:

provincias[2] = new Array('sanlucar,'jerez','chipiona')

sería

provincias[2] = new cadena;

Es que es de bien sabido que no puedo mezclar php y javascript... y puf... es que no quiero hacerlo manualmente, es decir introducir los datos manualmente... porque son unos 800 municipios...

Edito: Lo suyo sería pasar un array de php a javascript... elemento por elemento según parece... mirando por internet y cogiendo mil ejemplo nanay me sirve... leí algod el json pero hay que meter cosas en el servidor y demás y no es muy recomendable... alguna idea???

salludoss

Última edición por lordblackred; 11/04/2011 a las 05:10

Etiquetas: dependientes, js, postgresql, 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




La zona horaria es GMT -6. Ahora son las 18:52.