Problema con funcion php y <option> seleccionada

Iniciado por Hekaly, 23 Abril 2012, 19:25 PM

0 Miembros y 1 Visitante están viendo este tema.

Hekaly

Buenas a todos.

En primer lugar, coloco este post aqui por que lo que quiero hacer es ejecutar php, aunque es posible que tenga que usar otros lenguajes, por lo que si este no es el sitio adecuado lo podeis mover o borrar.

Bueno, os pongo en situacion.

Tengo una pagina php con un formulario, dentro de dicho formulario tengo un select con varios option (todo generado con php llamando a una tabla de mi bbdd), esto funciona perfectamente.

El problema lo tengo cuando quiero que aparezca un elemento nuevo (ejemplo, una tabla) dependiendo el <option> que he elegido, ejemplo si dejo marcado una opcion aparece una tabla y si dejo la siguiente aparece otra, etc.

Y ese es el problema. Crear elemento con javascript se hacerlo (con createelement, por ejemplo) pero esa tabla que quiero que aparezca se debe generar dinamicamente con una consulta php a la bd, por lo que no puedo usar javascript.

He probado de todo, intentando agregar un boton que al usar onclick llame a una funcion php,  o que onclick llamae a una funcion js y que esta llame a una funcion php (aunque se que no se debe mezclar php y js, por que una es cliente y otro servidor), o que sea un boton submit y lleme a otra pagina php, dandole la variable y con un switch muestre la tabla dependiendo del <option>, pero o no me sale, o no se ejecuta en la pagina del formulario , si no en otra.

La pregunta es, como se puede hacer esto? Se puede crear aparte todas las tablas por php y que luego en onclick + js muestre el codigo generaro, se debe hacer con ajax ???

Espero que me puedan ayudar, muchas gracias.

#!drvy

Citarpero esa tabla que quiero que aparezca se debe generar dinamicamente con una consulta php a la bd, por lo que no puedo usar javascript.

Ajax. Ajax. Ajax.

Y con jQuery y $.get(), en 3 lineas lo tienes.


Saludos

Hekaly

Uooo, drvy | BSM, muchas gracias.

Voy a mirar a ver si busco algún ejemplo simple para poder adaptarlo mas tarde a mi  web.

Hekaly

Buanas a todos.

Ya tengo resuelto el tema de los option dinamicos para que cargue una tabla en la misma pagina donde se selecciona el option.

Pero tengo un problema.

Ayer estuve buscando codigos de ejemplo para poder hacerlo y encontre la funcion adecuada, y lo tuve que adapatar al mi web para despues hacer el php. Ahora bien, el problema es que no me carga en el firefox pero si en otros navegadores, os pongo en codigo.

Código (javascript) [Seleccionar]
function mostrarClasificaciones(str){
if (str=="") {
  document.getElementById("txtHint").innerHTML="";
  return;}
if (window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();}
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
  xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;}}
  xmlhttp.open("GET","getuser.php?q="+str,true);
  xmlhttp.send();
}


Mas o menos se lo que hace todo el codigo, pero creo que el problema de que no me funcione en el firefox puede ser esta parte:

Código (javascript) [Seleccionar]
if (window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();}
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
  xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;}}


Que es donde (supongo) programa para que se vea en mas navegadores. He probado con quitar esa parte o cachos pero el script no me funciona (no realiza la parte php).

La pregunta es, es problema del codigo o se requiere una configuracion para que firefox lo soporte?

Muchas gracias.

lucdovina

Hola Hekaly, soy bastante novata en este mundo... Me gustaría que me colaboraras con la parte de las option dinámicas que cargan una tabla en la misma pagina dependiendo de la opción seleccionada. Comentas que lograste hacerlo yo requiero lo mismo te agradezco de antemano  :D

[u]nsigned

Si prefieres hacerlo a 'la antigua' bien por vos, pero es mucho mas trabajo. Esto mismo con jQuery se hace en 4 lineas de codigo, y te olvidas de todo el tema cross-browser, etc...como ya te dijeron, mejor usa jQuery ;)

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!