Foros del Web » Programando para Internet » PHP »

mostrar resultado en pantalla segun su valor

Estas en el tema de mostrar resultado en pantalla segun su valor en el foro de PHP en Foros del Web. No consigo saber como mostrar en pantalla, el resultado de un select segun su valor, por ejemplo si tengo este select: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: ...
  #1 (permalink)  
Antiguo 20/08/2011, 09:49
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
mostrar resultado en pantalla segun su valor

No consigo saber como mostrar en pantalla, el resultado de un select segun su valor, por ejemplo
si tengo este select:

Código HTML:
Ver original
  1. <select name="tienda">
  2.     <option value="1">musica</option>
  3.     <option value="2">deporte</option>
  4.     <option value="3">hogar</option>

y quiero mostrar en pantalla la opcion elegida.Alguna ayuda?
Saludos.
  #2 (permalink)  
Antiguo 20/08/2011, 09:56
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: mostrar resultado en pantalla segun su valor

Usa $_POST:

Código PHP:
Ver original
  1. echo $_POST['tienda'];

De esa manera te muestra el valor de la opción elegida.

  #3 (permalink)  
Antiguo 20/08/2011, 10:46
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

No puedo, ya que los select tengo el method=get ya que lo necesito para otra script no hay ninguna forma de hacerlo por $_get
  #4 (permalink)  
Antiguo 20/08/2011, 10:48
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: mostrar resultado en pantalla segun su valor

Claro, usa:
Código PHP:
Ver original
  1. echo $_GET['tienda'];

  #5 (permalink)  
Antiguo 20/08/2011, 10:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

Yo solo pude recuperar el value, pero no la opcion hice algo asin pero claro yo quiero recuperar la opcion elejida, alguna ayuda.

Código PHP:
Ver original
  1. if (isset($_GET['tienda'])) {
  2.    $tienda= $_GET['tienda'];
  3.    }
  4.    echo $tienda
  #6 (permalink)  
Antiguo 20/08/2011, 11:29
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: mostrar resultado en pantalla segun su valor

O sea, tu quieres que te muestre si ha elegido Musica en vez de 1, ¿verdad?

Pues se me ocurre que podrías hacerlo así;

Código PHP:
Ver original
  1. $select = $_GET['tienda'];
  2.  
  3. if ($select == 1) {
  4.     $valor = 'Musica';
  5. elseif($select == 2) {
  6.     $valor = 'Deporte';
  7. else($select == 3) {
  8.     $valor = 'Hogar';
  9. }
  10.  
  11. echo "Has seleccionado $valor";

También se podria usar switch... ya como tu veas. Espero te sirva.

  #7 (permalink)  
Antiguo 20/08/2011, 11:32
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

Bueno gracias OsSk4R por darme la solucion aunque comentistes algunos errores de sintaxis pero gracias por la ayuda, saludos.

Última edición por pithon; 20/08/2011 a las 11:45
  #8 (permalink)  
Antiguo 20/08/2011, 11:47
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: mostrar resultado en pantalla segun su valor

También puedes hacer algo así:

Código PHP:
Ver original
  1. //Verificamos que el GET tienda esté definido y no sea NULL
  2. if (isset($_GET['tienda'])) {
  3. //Comprobamos que el GET tienda no esté vacío
  4.     $opcion = empty($_GET['tienda']) ? '' : $_GET['tienda'];
  5. //Agregamos las opciones a un array
  6.     $tienda = array(1 => 'musica', 2 => 'deporte', 3 => 'hogar');
  7. //Comprobamos que la opción sea numérica y exista en el array
  8.     if ($opcion != '' && is_numeric($opcion)
  9.     && array_key_exists($opcion, $tienda)) {
  10. //Imprime la opción del array
  11.         echo $tienda[$opcion];
  12.     }
  13. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 20/08/2011, 12:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

andresdzphp tambien esta bien tu codigo, pero una cosa si ahora quisiera hacer lo mismo pero sacando llos datos de una base de datos como tendria que hacerlo , si encima se trata de dos select dependientes.

Alguien me pone un ejemplo o me comenta como hacerlo?
  #10 (permalink)  
Antiguo 20/08/2011, 12:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: mostrar resultado en pantalla segun su valor

Se supone que lo que tienes que hacer es una relación en tu base de datos para sacar el nombre de la tienda dependiendo del ID. Pero si piensas hacer eso con PHP, aprende a agregar elementos a un array.

Arrays
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #11 (permalink)  
Antiguo 20/08/2011, 12:32
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: mostrar resultado en pantalla segun su valor

Cita:
Bueno gracias OsSk4R por darme la solucion aunque comentistes algunos errores de sintaxis pero gracias por la ayuda, saludos.
Claro, ahora que lo veo no cerré las llaves jeje. Lo siento, es lo que tiene hacerlo rápido. El objetivo era ese, darte una ligera idea de como hacerlo. Luego ya tu lo adaptabas a tu manera... ;)

  #12 (permalink)  
Antiguo 20/08/2011, 12:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

Hola, la base de datos ya la tengo relacionada ya que los select me funcionaron bien, utilizo la funcion mysql_fetch_array pero realmente no se como conseguir mostrar la opcion elegida segun su valor.

andresdzphp si recojo los valores con esa funcion mysql_fetch_array es tener los valores en un array o asin no puedo conseguir lo que pretendo?

Saludos.
  #13 (permalink)  
Antiguo 20/08/2011, 12:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

andresdzphp bueno creo, ya saber agregar en un array datos de mi db yo hice algo asin:

<?php
$reg=mysql_query($sql,$con);
$reg=array();
?>

No se si es correcto pero si lo fuera como tendria que hacer para mostrar las opciones elegidas segun su valor?
  #14 (permalink)  
Antiguo 20/08/2011, 12:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: mostrar resultado en pantalla segun su valor

Mi idea es que con el bucle llenaras un array

Código PHP:
Ver original
  1. $tiendas[$id] = $valor;

y así aplicaras el código que te dejé.

Opciones u opción? el select es múltiple?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 20/08/2011, 13:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

ahora si me funciono pero tengo un problema bueno yo hice algo asin:

Código PHP:
Ver original
  1. <?php
  2. $new_array = array();
  3. while ($row = mysql_fetch_array($reg)) {
  4.   $tienda = $row["secion"];
  5.   $new_array []= $tienda;
  6. }
  7.  
  8.    
  9. //ahora  intento adaptar el codigo que me posteastes
  10.     //Verificamos que el GET tienda esté definido y no sea NULL
  11.     if (isset($_GET['tienda'])) {
  12.     //Comprobamos que el GET tienda no esté vacío
  13.         $opcion = empty($_GET['tienda']) ? '' : $_GET['tienda'];
  14.     //Agregamos las opciones a un array
  15.         //$tienda = array(1 => 'musica', 2 => 'deporte', 3 => 'hogar');
  16.        
  17.     //Comprobamos que la opción sea numérica y exista en el array
  18.         if ($opcion != '' && is_numeric($opcion)
  19.         && array_key_exists($opcion, $new_array)) {
  20.     //Imprime la opción del array
  21.             echo $new_array[$opcion];
  22.         }
  23.     }
  24.  
  25.  
  26. ?>

el problema que tengo es que los array empiezan por 0 y mi value empieza por 1 osea que me sale el segundo valor en vez del primero, alguna forma de arreglar esto?

Saludos.

Última edición por pithon; 20/08/2011 a las 17:50
  #16 (permalink)  
Antiguo 20/08/2011, 18:02
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: mostrar resultado en pantalla segun su valor

El array deberías llenarlo así: $new_array[$row["id"]] = $row["secion"];
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #17 (permalink)  
Antiguo 20/08/2011, 18:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: mostrar resultado en pantalla segun su valor

Gracias andresdzphp por tu colaboracion, ahora si me funciona bien.

Saludos.

Última edición por pithon; 20/08/2011 a las 18:43

Etiquetas: pantalla, resultados
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 07:29.