Foros del Web » Programando para Internet » PHP »

Usar el valor de una variable de otra pantalla

Estas en el tema de Usar el valor de una variable de otra pantalla en el foro de PHP en Foros del Web. Hola a toda la comunidad de ForosDelWeb, les comento que estoy haciendo un proyecto en php-mysql es un proyecto de la Universidad. Consiste en crear ...
  #1 (permalink)  
Antiguo 20/06/2011, 22:03
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 12 años, 10 meses
Puntos: 3
Usar el valor de una variable de otra pantalla

Hola a toda la comunidad de ForosDelWeb, les comento que estoy haciendo un proyecto en php-mysql es un proyecto de la Universidad.

Consiste en crear un Sistema para Agencias de Viajes entonces he creado esta pantalla


Aqui el usuario seleccionara la aerolinea de su preferencia (todo bien con esto)

Código PHP:
Ver original
  1. <?php  
  2. function aerolineas()
  3. {
  4.    
  5. $conexion= mysql_connect ("localhost", "ignacio", "xtreme")
  6. or die ("No se puede conectar con el servidor");
  7.  
  8. mysql_select_db ("agencia")
  9. or die ("No se puede seleccionar la base de datos");
  10.    
  11.     $consulta=mysql_query("SELECT id, aerolineas FROM aerolineas");
  12.    
  13.    
  14. ?>
  15.     <form action="comprar1.php" method="post" >
  16.  
  17. <?php
  18.     // Voy imprimiendo el primer select compuesto por los paises
  19.     echo "<select name='aerolineas' id='aerolineas' >";
  20.     echo "<option value='0'>Seleccione Aqui </option>";
  21.     while($registro=mysql_fetch_row($consulta))
  22.     {
  23.         echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
  24.     }
  25.     echo "</select>";?>
  26.     <BR><BR>
  27.     <input type="submit"  >
  28.    
  29.    
  30. <?php  
  31. }
  32. ?> 
  33. <?php
  34. if(!isset($_SESSION["login"])){
  35.  
  36. ?>
  37.  
  38. <fieldset id="form">
  39. <legend align="center">ALERTA</legend>
  40. <p align="center" >No ha iniciado sesion <a href="login.php">Identifiquese</a> en nuestro sistema.</p><br>
  41. <p align="center" >Sino esta registrado puede  <a href="registro.php">Registrarse</a></p><br>
  42. </fieldset>
  43. <?php
  44. }
  45. else {
  46.     ?>
  47.     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  48. <html xmlns="http://www.w3.org/1999/xhtml">
  49. <head>
  50. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  51. <title>Agencia de Viajes</title>
  52. <link rel="stylesheet" type="text/css" href="style.css"/>
  53.  
  54. </head>
  55.  
  56. <body>
  57.  
  58.  
  59.    
  60. <fieldset id="identi">
  61. <legend align="center   ">AEROLINEAS DISPONIBLES</legend><BR>
  62.   <div align="center">
  63.  
  64. <?php
  65.   aerolineas() ?>
  66.   <BR><BR>
  67.  </fieldset>
  68. </body>
  69. </html>
  70.  
  71. <?php }
  72. ?>



Aqui el usuario seleccionara a donde quiere ir (todo bien con esto)
Código PHP:
Ver original
  1. <?php
  2. function vuelos()
  3. {
  4. $aerolinea=$_POST['aerolineas'];
  5. $conexion= mysql_connect ("localhost", "ignacio", "xtreme")
  6. or die ("No se puede conectar con el servidor");
  7.  
  8. mysql_select_db ("agencia")
  9. or die ("No se puede seleccionar la base de datos");
  10.    
  11.     $consulta=mysql_query("SELECT id, origen FROM vuelos where relacion='$aerolinea'");
  12.     $consulta2=mysql_query("SELECT id, destino FROM vuelos where relacion='$aerolinea'");
  13.     mysql_close($conexion);
  14. ?>
  15.     <form action="comprar2.php" method="post" >
  16.  
  17. <?php
  18.     // Voy imprimiendo el primer select compuesto por los paises
  19.     echo "Origen: <select name='origen' id='origen' '>";
  20.     echo "<option value='0'>Elige</option>";
  21.     while($registro=mysql_fetch_row($consulta))
  22.     {
  23.         echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
  24.     }
  25.     echo "</select>";?>  
  26.     <BR> <BR><BR><?php
  27.     echo "Destino: <select name='destino' id='destino' >";
  28.     echo "<option value='0'>Elige</option>";
  29.     while($registro=mysql_fetch_row($consulta2))
  30.     {
  31.         echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
  32.     }
  33.     echo "</select>";?>  
  34.     <BR> <BR>
  35.     <input type="submit"  >
  36. <?php  
  37. } ?>
  38. <?php
  39. if(!isset($_SESSION["login"])){
  40.    
  41.  
  42.  
  43.  
  44.  
  45. ?>
  46.  
  47. <fieldset id="form">
  48. <legend align="center">ALERTA</legend>
  49. <p align="center" >No ha iniciado sesion <a href="login.php">Identifiquese</a> en nuestro sistema.</p><br>
  50. <p align="center" >Sino esta registrado puede  <a href="registro.php">Registrarse</a></p><br>
  51. </fieldset>
  52. <?php
  53. }
  54. else {$aerolinea= $_POST["aerolineas"];  echo"$aerolinea";
  55.     ?>
  56. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  57. <html xmlns="http://www.w3.org/1999/xhtml">
  58. <head>
  59. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  60. <title>Agencia de Viajes</title>
  61. <link rel="stylesheet" type="text/css" href="vuelos.css"/>
  62.  
  63. </head>
  64.  
  65. <fieldset id="identi">
  66. <legend align="center   ">A DONDE DESEA VIAJAR</legend><BR>
  67.   <div align="center">
  68.  
  69. <?php
  70.   vuelos() ?>
  71.   <BR><BR>
  72.  </fieldset>
  73. </body>
  74. </html>
  75.  
  76. <?php }
  77. ?>

El problema es el siguiente ya tengo 2 pantallas comprar.php el usuario elige la aerolinea y comprar1.php elige a donde desea ir, ahora en comprar2.php yo necesito reflejar los horarios que estan disponibles esos vuelos, pero necesito saber que aerolinea el usuario selecciono para poder comprar la relacion con la aerolinea, origen y destino.

Espero haberme dado a entender.


Código Aerolineas:
Ver original
  1. Table aerolineas
  2.  
  3. ================
  4.  
  5. id, aerolineas
  6.  
  7. ----------------
  8.  
  9. id               int(1) unsigned PK
  10.  
  11. aerolineas       varchar(40)

Esta es la tabla donde estarán todos los vuelos disponibles de todas las aerolíneas y el campo relacion es para relacionar el id de la aerolínea

Código vuelos:
Ver original
  1. Table vuelos
  2.  
  3. ============
  4.  
  5. id, codavion, origen, destino, partida, llegada, relacion
  6.  
  7. ------------
  8.  
  9. id               int(1) unsigned PK
  10.  
  11. codavion         varchar(6)
  12.  
  13. origen           varchar(80)
  14.  
  15. destino          varchar(80)
  16.  
  17. partida          time
  18.  
  19. llegada          time
  20.  
  21. relacion         int(3)

Gracias de antemano.
  #2 (permalink)  
Antiguo 21/06/2011, 01:12
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Usar el valor de una variable de otra pantalla

Si no utilizas variables de session, la informaci´on que ingresas un en form de comprar1.php pasa comprar2.php dentro del array $_POST.
Si en comprar1.php tienes un form con action = "comprar2.php", cuando le das al bot´on de enviar, comprar2.php recibe los valores del formulario dentro del array $_POST donde cada clave corresponde a un campo del formulario.
Busca sobre envios de formularios en PHP en este mismo foro, saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 21/06/2011, 02:42
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Usar el valor de una variable de otra pantalla

Hola buenas,

Lo único que tienes que hacer, es crear campos del tipo hidden dentro del formulario 2, para que guarden el contenido recibido del formulario 1 y los pueda enviar al formulario 3.

Por ejemplo:

FORM 1

Código PHP:
Ver original
  1. <input type="text" name="valor_form_1" value="valor-1">

FORM 2

Código PHP:
Ver original
  1. <input type="text" name="valor_form_2" value="valor-2">
  2.  
  3. <?php if(isset($_POST['valor_form_1'])) : ?>
  4. <input type="hidden" name="valor_form_1" value="<?php echo $_POST['valor_form_1']; ?>">
  5. <?php endif; ?>

FORM 2

Código PHP:
Ver original
  1. <input type="text" name="valor_form_3" value="valor-3">
  2.  
  3. <?php if(isset($_POST['valor_form_1'])) : ?>
  4. <input type="hidden" name="valor_form_1" value="<?php echo $_POST['valor_form_1']; ?>">
  5. <?php endif; ?>
  6. <?php if(isset($_POST['valor_form_2'])) : ?>
  7. <input type="hidden" name="valor_form_2" value="<?php echo $_POST['valor_form_2']; ?>">
  8. <?php endif; ?>

Revisalo que esta hecho de coco!!

Un saludo!
  #4 (permalink)  
Antiguo 21/06/2011, 07:44
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Usar el valor de una variable de otra pantalla

Cita:
Iniciado por repara2 Ver Mensaje
Si no utilizas variables de session, la informaci´on que ingresas un en form de comprar1.php pasa comprar2.php dentro del array $_POST.
Si en comprar1.php tienes un form con action = "comprar2.php", cuando le das al bot´on de enviar, comprar2.php recibe los valores del formulario dentro del array $_POST donde cada clave corresponde a un campo del formulario.
Busca sobre envios de formularios en PHP en este mismo foro, saludos
Gracias, por tu respuesta, pero si se que recibo un valor de un form a traves del $_POST solo que necesito la variable de comprar.php en comprar2.php, es decir 2 pantallas mas atras.(comprar.php -> comprar1.php -> comprar2.php)

Cita:
Iniciado por miktrv Ver Mensaje
Hola buenas,

Lo único que tienes que hacer, es crear campos del tipo hidden dentro del formulario 2, para que guarden el contenido recibido del formulario 1 y los pueda enviar al formulario 3.

Por ejemplo:

FORM 1

Código PHP:
Ver original
  1. <input type="text" name="valor_form_1" value="valor-1">

FORM 2

Código PHP:
Ver original
  1. <input type="text" name="valor_form_2" value="valor-2">
  2.  
  3. <?php if(isset($_POST['valor_form_1'])) : ?>
  4. <input type="hidden" name="valor_form_1" value="<?php echo $_POST['valor_form_1']; ?>">
  5. <?php endif; ?>

FORM 2

Código PHP:
Ver original
  1. <input type="text" name="valor_form_3" value="valor-3">
  2.  
  3. <?php if(isset($_POST['valor_form_1'])) : ?>
  4. <input type="hidden" name="valor_form_1" value="<?php echo $_POST['valor_form_1']; ?>">
  5. <?php endif; ?>
  6. <?php if(isset($_POST['valor_form_2'])) : ?>
  7. <input type="hidden" name="valor_form_2" value="<?php echo $_POST['valor_form_2']; ?>">
  8. <?php endif; ?>

Revisalo que esta hecho de coco!!

Un saludo!
Creo q esto es lo que necesito probare el codigo mas tarde y te comento aver como me va. Ahorita estoy en al uni :D.

Gracias por responder.
  #5 (permalink)  
Antiguo 21/06/2011, 21:29
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Usar el valor de una variable de otra pantalla

Cita:
Iniciado por miktrv Ver Mensaje
Hola buenas,

Lo único que tienes que hacer, es crear campos del tipo hidden dentro del formulario 2, para que guarden el contenido recibido del formulario 1 y los pueda enviar al formulario 3.

Por ejemplo:

FORM 1

Código PHP:
Ver original
  1. <input type="text" name="valor_form_1" value="valor-1">

FORM 2

Código PHP:
Ver original
  1. <input type="text" name="valor_form_2" value="valor-2">
  2.  
  3. <?php if(isset($_POST['valor_form_1'])) : ?>
  4. <input type="hidden" name="valor_form_1" value="<?php echo $_POST['valor_form_1']; ?>">
  5. <?php endif; ?>

FORM 2

Código PHP:
Ver original
  1. <input type="text" name="valor_form_3" value="valor-3">
  2.  
  3. <?php if(isset($_POST['valor_form_1'])) : ?>
  4. <input type="hidden" name="valor_form_1" value="<?php echo $_POST['valor_form_1']; ?>">
  5. <?php endif; ?>
  6. <?php if(isset($_POST['valor_form_2'])) : ?>
  7. <input type="hidden" name="valor_form_2" value="<?php echo $_POST['valor_form_2']; ?>">
  8. <?php endif; ?>

Revisalo que esta hecho de coco!!

Un saludo!
Gracias brother me funciono de maravilla, pero pusistes un form demas, solo use el primero y el segundo. Muchisimas gracias,ahora tengo otra pregunta pero no se si debo abrir otro tema. La comentare aqui y si tengo q abrir otro tema bueno lo hago.

La cuestion es la siguiente, me puse a realizar el itinerario de vuelo y todo bn, cuando hice una consulta me tope que me mostraba dos destinos identicos, es decir:

Amazonas
Amazonas
Coro
Caracas


La consulta que estoy haciendo para que muestre eso es la siguiente :
Código PHP:
Ver original
  1. $consulta=mysql_query("SELECT id,origen FROM vuelos where relacion='$aerolinea' ");
  2. $consulta2=mysql_query("SELECT id,destino FROM vuelos where relacion='$aerolinea' ");

Como puedo hacer para que solo me muestre una opción así este repetida n veces?
Intente hacerlo con un count/group by pero solo me mostraba las cantidades :D, fue un error de principiante eso XD.
  #6 (permalink)  
Antiguo 22/06/2011, 07:48
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Usar el valor de una variable de otra pantalla

Usa en tu sentencia sql " GROUP BY " nombre del campo que no quieres que se repita, o puede usar " SELECT DISTINCT " nombre del campo para seleccionar los diferentes.



Un saludo!
  #7 (permalink)  
Antiguo 22/06/2011, 21:37
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Usar el valor de una variable de otra pantalla

Cita:
Iniciado por miktrv Ver Mensaje
Usa en tu sentencia sql " GROUP BY " nombre del campo que no quieres que se repita, o puede usar " SELECT DISTINCT " nombre del campo para seleccionar los diferentes.



Un saludo!
Jojojo, muchas gracias man me funciono perfecto, yo estaba contando y agrupando ,

Etiquetas: pantalla, 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 18:30.