Foros del Web » Programando para Internet » PHP »

pasar variable

Estas en el tema de pasar variable en el foro de PHP en Foros del Web. hola por favor nesecito poder adaptar esta funcion para pasar un valor mas y obtener por post ese valor, tengo la siguiente funcion que me ...
  #1 (permalink)  
Antiguo 13/10/2012, 14:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
pasar variable

hola por favor nesecito poder adaptar esta funcion para pasar un valor mas y obtener por post ese valor, tengo la siguiente funcion que me da este valor

Código PHP:
Ver original
  1. busqueda_curso.php?id_curso=5&procesocurso=filtrarCurso

y esta es la funcion, y el select donde se invoca

Código PHP:
Ver original
  1. <?php
  2. $procesocurso = $_POST['procesocurso'];
  3. if($procesocurso=='filtrarCurso'){
  4.     $id_curso = $_POST['id_curso'];
  5. }
  6. ?>
  7. <script type="text/javascript">
  8. function FiltrarCurso(){
  9.         document.form1.action = "busqueda_curso.php"
  10.         document.form1.procesocurso.value = "filtrarCurso"
  11.         document.form1.submit()
  12.     }
  13. </script>
  14.  
  15.  <form name="form1">
  16.         <select name="id_curso" id="id_curso" class="selector" onchange="FiltrarCurso();">
  17.          <option value="0">Seleccione Cursos</option>
  18.             <?php
  19.                 $consulta = "SELECT * FROM cursos WHERE estado='A'";
  20.                 $resultado = mysql_query($consulta);
  21.                 while($fila = mysql_fetch_array($resultado)){
  22.                     $id_curso = $fila['id_curso'];
  23.                     $nombre_curso  = $fila['nombre_curso'];
  24.                     echo '<option value='.$id_curso.'>'.$nombre_curso.'</option>';
  25.                  }
  26.            
  27.             ?>
  28.         </select>
  29.         <input name="procesocurso" type="hidden" id="procesocurso">
  30.         </form>

quisiera poder adaptar esta funcion o como podria hacer para poder tener este valor y quedar asi o que me muestre asi

Código PHP:
Ver original
  1. busqueda_curso.php?id_curso=5&procesocurso=filtrarCurso&id_modulo=1

eso seria el resultado final que desaria obtener, como puedo adpatar la funcion que dejo para lograr ese resultado gracias.
  #2 (permalink)  
Antiguo 13/10/2012, 15:19
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

La variable va por URL, no se usa POST, se usa GET
  #3 (permalink)  
Antiguo 13/10/2012, 15:32
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

ok si en el archivo busqueda-curso.php lo recibo por get, como dices, la consulta es de esa funcion como envio la variable que nesecito, que la estoy recibiendo por get en el archivo busqueda-curso.php, quiero adaptar la funcion para enviar la varibale que inidco &id_modulo=1

gracias
  #4 (permalink)  
Antiguo 13/10/2012, 15:40
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

Hace lo que tengas que hacer como te plazca, el problema que tenes es que usas POST y no GET
Código PHP:
Ver original
  1. $procesocurso = $_GET['procesocurso'];
  2. if($procesocurso=='filtrarCurso'){
  3.     $id_curso = $_GET['id_curso'];
  4. }

lo otro no se que querés hacer, explicate mejor.
  #5 (permalink)  
Antiguo 13/10/2012, 15:47
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

de la funcion que puse recibo sin ningun problema el id curso, y obtengo esta resultado en la url, busqueda_curso.php?id_curso=5&procesocurso=filtrar Curso

lo que quiero hacer es pasar 2 variables o sea una mas de la que ya esta si te das cuenta ya paso id_curso=5, quiero pasar una variable mas para que me quede asi

busqueda_curso.php?id_curso=5&procesocurso=filtrar Curso&id_modulo=1

quiero agregar una variable mas que seria &id_modulo1 y tener este resultado

busqueda_curso.php?id_curso=5&procesocurso=filtrar Curso&id_modulo=1

gracias.
  #6 (permalink)  
Antiguo 13/10/2012, 16:19
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

y cual es el problema? no sabes agregarla? si lo hiciste con id_curso_procesocurso, no sabes agregar una variable id_modulo?

busqueda_curso.php?id_curso=5&procesocurso=filtrar Curso&id_modulo=1

$_GET['id_modulo'] no entiendo cual es el problema
  #7 (permalink)  
Antiguo 13/10/2012, 16:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

si justamente estoy tratando de agregarle intentando de varias formas y no lo he podido hacer, por eso pido una mano o ayuda para que puedan ayudarme con ese agregado, si ya lo hubiera podido hacer no estuviera posteando la ayuda gracias.
  #8 (permalink)  
Antiguo 13/10/2012, 16:37
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

pues volve a revisar lo que tenes, porque esto que te dije si funciona, acá en programación no hay mentiras, funciona o no funciona.
a demas, "no lo he podido hacer" no se que quiere decir eso, cual es el problema? algun error en pantalla? y deberías de postear el código, mostranos a ver como formas la url, y en que parte capturas esa variable.
  #9 (permalink)  
Antiguo 13/10/2012, 16:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

lo que quiero decir es lo que dices no estoy pudiendo o no encuento la forma o no se como agergarla para pasar las 2 variables, es la ayuda que necesito, gracias.
  #10 (permalink)  
Antiguo 13/10/2012, 16:56
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

Código Javascript:
Ver original
  1. var idcurso = document.form1.id_curso.value;
  2.  
  3. document.form1.action = "busqueda_curso.php?id_curso="+idcurso+"&procesocurso=filtrarCurso&id_modulo=1";
  4.  
  5. document.form1.submit()

a esto te referís?
  #11 (permalink)  
Antiguo 13/10/2012, 17:49
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

si exacto a eso me refiero, pero el id modulo tambien se saca de una variable no imprimo defrente id_modulo=1 asi como sacas la variable id_curso igual se obitene de una variable, estuve adaptando el codigo que me pones , pero ese accion lleva a un archivo busqueda-curso.php al colocar tu ejemplo ya no hace el submit, no va hacia la pagina.

gracias.
  #12 (permalink)  
Antiguo 13/10/2012, 18:15
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

bueno , entiendo, pero de donde sacas id_modulo? primero defini donde va a estar, de donde la sacas, de un input? de un select?definilo y hacelo, es lo mismo que hice para id_curso, y otra cosa, luego de document.form1.subit(); va un ; ( punto y coma, me falto )
  #13 (permalink)  
Antiguo 13/10/2012, 18:21
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

si te das cuenta esa funcion javascript trabaja con un if en php donde se consulta la variable o se pasa el id_curso justamente necesito que se adapte o se implemente ese codigo tambien no se si se le agrega el id_modulo en ese php o se crea otro if, es alli donde necesito la ayuda en ambos en el php que te paso y el javascript que ejecuta, arriba deje la funcion completa como se ejecuta este script esta el php mas el javascript

gracias.

Código PHP:
Ver original
  1. <?php
  2. $procesocurso = $_POST['procesocurso'];
  3. if($procesocurso=='filtrarCurso'){
  4.     $id_curso = $_POST['id_curso'];
  5.    
  6. }
  #14 (permalink)  
Antiguo 13/10/2012, 18:29
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

Código Javascript:
Ver original
  1. document.form1.action = "busqueda_curso.php?id_curso="+idcurso+"&procesocurso=filtrarCurso&id_modulo=<?php echo $id_curso;?>";
  #15 (permalink)  
Antiguo 13/10/2012, 18:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

recordar que con el id_curso no hay problema, ese id si se imprime o pasa por la url, la variable que no puedo pasar es el id_modulo, en ningun momento la mencionas o lo sacas de alguna variable, imprimiendo el php con echo como me lo pones ya lo he intentado y no imprime la variable o el id_modulo. fijate en el ejmplo que deje arriba, lo que nesecito es enviar la variable id_modulo de este documento, y que imprima en busqueda-curso.php donde recibo el id_modulo por $GET , gracias por la ayuda y recuerda necesito pasar la variable id_modulo o imprimir la url id_modulo. el id_curso no hay problema, necesito que en la url quede asi

busqueda_curso.php?id_curso=5&procesocurso=filtrar Curso&id_modulo=1

eso tendria que imprimir cuando le paso las variables y imprima de acuero a los id selcionados es dianmico el cambio de id en este caso esta imprimiendo el id_curso=5 y el id_modulo=1, pero estos podrian cambiar depende de lo que se seleccione en el select.

Última edición por cualquiera; 13/10/2012 a las 18:52
  #16 (permalink)  
Antiguo 13/10/2012, 19:59
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

el tema es que yo no se de donde queres que saque modulo, no entiendo eso.
Porque por ejemplo yo entiendo que por ejemplo id_curso sale del valor seleccionado en el select, hasta ahi todo bien, eso lo guardas en una variable y luego lo agregas en la url, pero de donde sacas lo de modulo? no veo nada que diga modulo por ahi.
Primero definime ese tal idmodulo que decis, si es que te llega de otro archivo, lo definis en el mismo, lo sacas de una consulta, no se, pero asi no puedo ayudarte
  #17 (permalink)  
Antiguo 13/10/2012, 20:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

ok entonces tengo qu explicarte todo la idea son 3 consultas, al pasar el id_codigo de ese select obtengo un resultado que es un titulo y unos subtitulos, esos titulos y subtitulos los obtengo de 2 consultas realcionados, por el id_curso al pasar del combo selector el valor de id curso a busqueda.php y recibirlos por $GET me muestra los resultados correctos, ahora la misma idea es con los siguientes consultas hay una tabla que se llama modulos esta tabla modulos esta relacionado con otra tabla que se llama temas_curso, y lo relaciono con el id_modulo, entonces si yo paso por ese combo selector el valor del id_curso obtengo los primeros resultados, o de las 2 primeras tablas, para obtener, los resultados de las otras tablas o en este caso de la tabla temas curso esta tabla esta realcionada con el id_modulo entonces al pasarle por url este id_modulo me imprime tambien los datos de la tabla temas_curso, correctamente como me doy cuenta de eso por que en el navegador a la hora que utilizo el combo selector donde estan el id_curso y me imprime el contenido del id_curso me imprime asi
Código PHP:
busqueda_curso.php?id_curso=5&procesocurso=filtrarCurso 
esto me imprime los primeros resultados y si a este impresion en la url le agrego esta variable
Código PHP:
&id_modulo=
obtengo lo datos de la tabla temas_curso pero esto le agrego manualmente como digo yo lo escribo en el navegador, entonces lo que necesito es que de ese combo selector que me enva el id_curso tambien me envie el id_modulo para obtener los datos completos de todas las tablas que me interersan dejo las consultas para ver si por hai algo estoy haciendo mal, pero lo que necesito es solo recojer el id_modulo junto con el id_curso enviado desde el combo selector gracias

las consultas

Código PHP:
<?php
$codcurso 
$_GET['id_curso']; 
$consultaCurso "SELECT * FROM cursos WHERE id_curso='$codcurso' AND estado='A' ORDER BY id_curso ASC";
$resultadoCurso mysql_query($consultaCurso);
?>

<?php 
$consultaModulo 
"SELECT * FROM modulos_curso WHERE id_curso='$codcurso' AND estado='A'";
$resultadoModulo mysql_query($consultaModulo);
?>

<?php 
$codigo 
$_GET['id_modulo'];
$consultaTema "SELECT * FROM temas_curso WHERE id_modulo='$codigo' AND estado='A'";
$resultadoTema mysql_query($consultaTema);
?>
  #18 (permalink)  
Antiguo 13/10/2012, 20:35
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

a ver si entendi, vos tenes una funcion hecha en javascript que se llama cuando seleccionas alguna de las opciones del select, entonces esta funcion envía a un archivo busqueda_curso.php el id_curso que seleccionas en el select y A DEMAS queres que envíe el id_modulo relacionado con ese id_curso que justamente acabas de seleccionar?
tal vez entendí mal, espero que no ::
  #19 (permalink)  
Antiguo 13/10/2012, 20:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

si exacto es es lo que quiero, que en la funcion javascript que envia el id_curso por $get tambien envie el id_modulo al enviar estos 2 id obtengo todos los datos que necesito, como podras darte cuenta solo el combo con la funcion javascript me envia solo el id_curso y como dices nesecito que envie los 2 ids, el id_codigo ey el id_modulo eso es exactamente lo que quiero desde el combo selector enviar esos 2 ids, creo que ya me entendiste y es lo que no puedo hacer y estoy tratando de explicar gracias.
  #20 (permalink)  
Antiguo 13/10/2012, 20:49
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

el problema de eso, es que vos no tener forma de saber que id_modulo está relacionado con el id_curso de la opcion que elegiste, no hasta el momento en el que realmente elegiste una opción del select y ahí es el problema, porque al seleccionar 1 ya te envía a otro archvo busqueda_curso.php, por lo tanto tenes que usar AJAX, para que en el momento en el cual elegis una opcion del select, no solo te envíe el id_curso sino que también vas a tener que hacer una consulta SQL al servidor y que te devuelva el id_modulo relacionado con lo que elegiste, todo sin recargar la página, luego de que obtuviste el id_modulo relacionado con la opcion que elegiste del select ahí recien se te va a ir a busqueda_curso.php enviando el modulo, sino no tenes forma de saber que modulo enviar segun lo que elegiste.

En resumen, en la misma función que usas, tenes que agregar que por medio de AJAX envíes a un script X.php el cual te va a retornar el id_modulo del curso que seleccionaste, y una vez que lo obtengas, ahi si creas la url con eso que te retorno el servidor por medio de AJAX ( objeto XMLHttpRequest ), no se si tenes conocimientos de ajax, si no los tenes estás a tiempo para estudiarlo.

http://librosweb.es/ajax/index.html
  #21 (permalink)  
Antiguo 13/10/2012, 20:55
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

jajaa, gracias, bueno en realidad no pido que me hagan las cosas si no consulto si se pude hacer eso, ahora si tu sugieres que lo tengo que hacer con ajax, revisare y si entiendo, como usar objeto XMLHttpRequest, pero no crei que para pasar un variable mas tendria que hacer todo eso, ok entonces de todas formas le dare una mirada a lo que me comentas si por hai alguien tiene una idea mas practica o sencilla bueno espero comentarios, igual de todas formas gracias por los consejos vere como solucionarlo.

Gracias.
  #22 (permalink)  
Antiguo 13/10/2012, 21:03
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

ahora revisando bien tu comentario, no es tan asi la tabla curso que tiene el id_curso esta realcionado la tabla modulos_cursos, la tabla temas_curso esta realcionada, con la tabla modulos_curso y con la tabla curso entoces si se a que modulo pertenece cada curso y si se a que tema esta realciondo con la tabla modulos y curso se relacionan, la tabla modulos_curso se realciona con la tabla curso por el id_curso, y la tabla temas curso se relaciona con la tabla modulos_curso por el id_modulo, entonces si se de donde salen los datos, y en las consultas me imprime correctamente los datos, lo unico que necesito es enviar un variable mas desde el combo pero bueno vere otras opciones gracias.
  #23 (permalink)  
Antiguo 13/10/2012, 21:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: pasar variable

es como pasar una variable mas en un <a> lo haria asi
Código PHP:
Ver original
  1. <a href="busqueda_curso.php?id_curso=<?php echo $id_curso; ?>&id_modulo=<?php echo $id_modulo; ?>">
asi estoy enviando 2 ids en un href el tema es que lo quiero enviar desde un select o comobo selector y no tengo que usar ajax, ni eso es pasar solo 2 variables desde el select gracias.
  #24 (permalink)  
Antiguo 13/10/2012, 21:22
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: pasar variable

todo bárbaro, podes mandar un id_modulo asi, perfecto, pero de que te sirve? vos no sabes que modulo vas a tener que enviar hasta que no selecciones una opción del select, y ahí es el problema.
El valor del id_modulo va a depender de lo que elijas vos, por lo tanto ese id_modulo no podes ya traerlo cargado de una consulta por ejemplo en el archivo donde tenes el combo, porque no te sirve de nada, como repetí antes EL VALOR DEL id_modulo A ENVIAR VA A DEPENDER DE LO QUE VOS ELIJAS EN EL COMBO, por lo tanto vos no podes hacer una consulta a la tabla correspondiente obteniendo el id_modulo con respecto a 1 id_curso que todavía no has seleccionado del combo.

Etiquetas: mysql, variables
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 22:35.