Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] - Problema con selected en option

Estas en el tema de [SOLUCIONADO] - Problema con selected en option en el foro de PHP en Foros del Web. Buenas gente, a ver tengo un problema y es que tengo un formulario donde me hace de calculadora. valor1: valor2: Operante: + - * / ...
  #1 (permalink)  
Antiguo 24/11/2010, 03:21
 
Fecha de Ingreso: noviembre-2010
Ubicación: N/A
Mensajes: 189
Antigüedad: 11 años, 2 meses
Puntos: 6
Pregunta [SOLUCIONADO] - Problema con selected en option

Buenas gente, a ver tengo un problema y es que tengo un formulario donde me hace de calculadora.

valor1:

valor2:

Operante: + - * /

Resultado: --

el tema es que ponga lo que quiero multiplicar por ejemplo 2*3 y seleccionar el operante
"*" y me salga el resultado. Hasta ahi me lo hace todo menos el operante, que se me vuelve a poner en " + ". Me hace la multiplicacion pero sale la suma como predeterminado.

El tema es que cuando le de submit, me haga la operacion y se quede el operante que he escogido previamente.

Este es el codigo que tengo hasta ahora:

Cita:
<SELECT name="operant">
<option value="+" name="suma">+</option>
<option value="-" name="resta">-</option>
<option value="*" name="multi">*</option>
<option value="/" name="div">/</option>
</SELECT>
Creo que se hace con el selected, pero no encuentro algun ejemplo para ver como se implementaria en este caso.

Os pongo la parte del select que es donde me faltan opciones.
  #2 (permalink)  
Antiguo 24/11/2010, 03:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 13 años, 9 meses
Puntos: 2534
Respuesta: Problema con selected en option

en realidad es sencillo, si ya conoces el valor seleccionado solamente debes hacer las comparaciones lógicas necesarias...
Código PHP:
if ($operacion == '+') echo ' selected="selected"'
por cierto, los <option/> no necesitan name, deberías leer algún manual de HTML!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/11/2010, 03:52
 
Fecha de Ingreso: noviembre-2010
Ubicación: N/A
Mensajes: 189
Antigüedad: 11 años, 2 meses
Puntos: 6
Respuesta: Problema con selected en option

Cita:
Iniciado por pateketrueke Ver Mensaje
en realidad es sencillo, si ya conoces el valor seleccionado solamente debes hacer las comparaciones lógicas necesarias...
Código PHP:
if ($operacion == '+') echo ' selected="selected"'
por cierto, los <option/> no necesitan name, deberías leer algún manual de HTML!!
Pues no, no me funciona y aparte si pongo el /> luego no puedo poner texto que me salta por pantalla verdad ? :S Me sale un cuadradito para elegir, en blanco.

Y poniendo el codigo me queda a si y sige sin funcionar.

Cita:
<SELECT name="operant" selected="suma">
<option value="+" name="suma" >+</option>
<option value="-" name="resta" >-</option>
<option value="*" name="multi" >*</option>
<option value="/" name="div" >/</option>

<?php
if ($operant == '+') echo ' selected="selected"';
if ($operant == '-') echo ' selected="selected"';
if ($operant == '*') echo ' selected="selected"';
if ($operant == '/') echo ' selected="selected"';

?>
</SELECT>
  #4 (permalink)  
Antiguo 24/11/2010, 04:03
 
Fecha de Ingreso: noviembre-2010
Ubicación: N/A
Mensajes: 189
Antigüedad: 11 años, 2 meses
Puntos: 6
SOLUCIONADO: Problema con selected en option

Vale, ya pude resolver el problema. Al final lo hice así. (Gracias pateketrueke per la ayuda)

Cita:
<SELECT name="operant" selected="suma">
<option value="+" name="suma" <?php if ($operant == '+') echo ' selected="selected"'; ?> >+</option>
<option value="-" name="resta" <?php if ($operant == '-') echo ' selected="selected"'; ?> >-</option>
<option value="*" name="multi" <?php if ($operant == '*') echo ' selected="selected"'; ?> >*</option>
<option value="/" name="div" <?php if ($operant == '/') echo ' selected="selected"'; ?> >/</option>

</SELECT>
A ver si le puede servir a alguien

Saludos!

Etiquetas: option, selected, solucionado
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 09:13.