Foros del Web » Programando para Internet » PHP »

if dentro de una variable

Estas en el tema de if dentro de una variable en el foro de PHP en Foros del Web. hola amigos quisiera hacer una pregunta haber si se puede hacer o no lo siguiente, ya q a mi no me sale Quisiera meter un ...
  #1 (permalink)  
Antiguo 14/12/2012, 10:04
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
if dentro de una variable

hola amigos quisiera hacer una pregunta haber si se puede hacer o no lo siguiente, ya q a mi no me sale

Quisiera meter un if dentro de una variable, algo asi:

$if = if($variable == '1a'){echo 'checked';}

Os cuento un poco mi problema.
Comprueb de la siguiente manera que radio fue pulsado, asi lo vuelvo a marcar por defecto.
Lo malo esque tengo 150 botones de radio


Código PHP:
Ver original
  1. <input type='radio' name='radi'  value='1' ";  if($radi == '1'){echo"checked";}  echo" > Coches        
  2. <input type='radio' name='radi'  value='2' ";  if($radi == '2'){echo"checked";}  echo" > Motos
  3. .....


Bueno nome extiendo mas q sino es un cacao
Se puede meter un 'if' dentro de una variable?
Daria igual en cuestiones de rendimiento el tener q comprobar todos los 'if' delos botones radio?
  #2 (permalink)  
Antiguo 14/12/2012, 10:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: if dentro de una variable

¿Porque no haces una función para eso? Justamente te puede ayudar para dibujar el radio...
  #3 (permalink)  
Antiguo 14/12/2012, 10:34
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: if dentro de una variable

Como se hace la funcion, q idea tienes?

Mi idea era algo asi
Intentar dividir los radios en varios grupos $uno, $dos.....
Asi creo solo la variable '$dos' por ejemplo
Las otras variables no seran creadas asi solo entraria en los IF delgrupo $dos
Código PHP:
Ver original
  1. if(si una varible q tengo == '1'){
  2.  
  3.    $uno = if($un == ''){echo'checked';};
  4.  
  5.  }elseif(si una varible q tengo == '2'){
  6.  
  7.    $dos = if($radi == '00'){echo'checked';};
  8. }
  9.  
  10.  
  11.    <input type='radio' name='radi'  value='1'  $uno> Coches
  12.     <input type='radio' name='radi'  value='1'  $uno> Coches
  13.     <input type='radio' name='radi'  value='1'  $uno> Coches
  14.     .........
  15.        
  16.    <input type='radio' name='radi'  value='2'  $dos> Motos
  17.    <input type='radio' name='radi'  value='2'  $dos> Motos
  18.    <input type='radio' name='radi'  value='2'  $dos> Motos
  19.     .....

Mas o menos esa es la idea que tengo para que no se comprueba cada boton de radio que tengo

Última edición por netoraaacing; 14/12/2012 a las 10:40
  #4 (permalink)  
Antiguo 14/12/2012, 11:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: if dentro de una variable

Pues sencillo:
Código PHP:
Ver original
  1. function drawRadio($name, $value, $selected = false) {
  2.       $sel = '';
  3.       if ($selected) { $sel = ' selected="selected"'; }
  4.  
  5.       echo "<input type=\"radio\" name=\"{$name}\" value=\"{$value}\"{$sel}>";
  6. }

Luego en cada radio solamente haces:
Código PHP:
Ver original
  1. echo drawRadio('radi', '2', true); // seleccinado
  2. // o
  3. echo drawRadio('radi', '2'); // no seleccionado
  #5 (permalink)  
Antiguo 14/12/2012, 11:36
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: if dentro de una variable

GatorV la verda q si se simplifica mucho el codigo asi, aunque ami nunca se me ocurriria

Lo q tengo es un problema: no me sale seleccconado el boton radio que marque antes de enviar el formulario

Me puedes hecahr una mano, q ademas nose muy bien que se hace con 'true' y '$selected = false'
  #6 (permalink)  
Antiguo 14/12/2012, 11:45
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: if dentro de una variable

Vale por lo que he visto el true selecciona el radio por defecto

ya me sale marcado solo que ahy que cambiar ' selected="selected"' por 'checked'

pero yo quiero q salga seleccionado el radio q el usuario eligio, como ago eso?

Osea el usuario selecciona un radio delos 150 que hay, pulsa en 'enviar formulario'
Al enviar el formulario se volveran a mostar los botones de radio, teniendo q salir marcado el boton de radio que el usuario eligio antes de enviar el formulario

bueno aunque asi con tu codigo puedo hacer grupos como pretendia yo y no recorrer todos los radios

muchas gracias GatorV ahora gracias a ti ya se una formar de crear botones mas simplificada

saludos

Última edición por netoraaacing; 14/12/2012 a las 11:57
  #7 (permalink)  
Antiguo 14/12/2012, 11:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: if dentro de una variable

Son booleanos, true representa verdad, y false negación, simplemente es el tercer parámetro de la función, si le pasas true, se selecciona el radio, si le pones false, no se selecciona.
  #8 (permalink)  
Antiguo 14/12/2012, 12:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: if dentro de una variable

Puedes usar un arreglo, pones todos tus elementos en un arreglo y luego recorres, por ejemplo:
Código PHP:
Ver original
  1. $radios = array('valor1', 'valor2', 'valor3', 'valor4');
  2. foreach ($radios as $radio) {
  3.       $selected = false;
  4.       if (isset($_POST['rad']) && ($_POST['rad'] == $valor)) { $selected = true; }
  5.  
  6.       echo drawRadio('rad', $valor, $selected);
  7. }

Saludos.

Etiquetas: 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:06.