Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al ocultar texto PHP

Estas en el tema de Problema al ocultar texto PHP en el foro de PHP en Foros del Web. Buenas tardes, Estoy realizando una lista y quiero que cuando el valor que esta actualmente en la bd este seleccionado no aparezca entre las opciones ...
  #1 (permalink)  
Antiguo 22/01/2013, 13:32
Avatar de jmorasandi  
Fecha de Ingreso: enero-2013
Mensajes: 30
Antigüedad: 11 años, 3 meses
Puntos: 1
Problema al ocultar texto PHP

Buenas tardes,

Estoy realizando una lista y quiero que cuando el valor que esta actualmente en la bd este seleccionado no aparezca entre las opciones de editar, todo funciona bien excepto que cuando ejecuto el script me aparece un espacio en blanco debido al null que puse en la sentencia, mi consulta es.. Existe alguna manera de que no aparezca el null cambiandolo por otra opcion?

Código:
    <label for="estado">Estado</label>
<select name="estado">
	<option><?php echo $rsEmp["estado"]; ?></option>
	<option><?php if ($rsEmp["estado"] == "En proceso"){ null; 
	} elseif ($rsEmp["estado"] == "Pendiente") { echo "En Proceso";
	} elseif ($rsEmp["estado"] == "Abierto") { echo "En Proceso";
	} elseif ($rsEmp["estado"] == "Asignado a HE") { echo "En Proceso";
}

Última edición por jmorasandi; 22/01/2013 a las 13:37
  #2 (permalink)  
Antiguo 22/01/2013, 14:11
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: Problema al ocultar texto PHP

Pues quita ese null; aunque si no quieres que sea igual puedes usar el operador de desigualdad !=

Código PHP:
Ver original
  1. if ($myvalor != "el valor que espero") {
  2.        // haz esto
  3. }
  #3 (permalink)  
Antiguo 22/01/2013, 14:12
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al ocultar texto PHP

y si pruebas con false;

o como te dice gatorv si quitas el null no te aparecera ningun espacio en blanco

Última edición por webankenovi; 22/01/2013 a las 14:29 Razón: ofuscado jeje
  #4 (permalink)  
Antiguo 22/01/2013, 15:10
Avatar de jmorasandi  
Fecha de Ingreso: enero-2013
Mensajes: 30
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Problema al ocultar texto PHP

Sigue sin funcionar :)





Código:
<select name="estado">
	<option selected="selected"><?php echo $rsEmp["estado"] ?></option>
	<option><?php if ($rsEmp["estado"] != "En Proceso") { 
       false;
} ?></option> 
	<option>Pendiente</option>
	<option>Abierto</option>
	<option>Asignado a HE</option>
	</select>
  #5 (permalink)  
Antiguo 22/01/2013, 15:19
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: Problema al ocultar texto PHP

Pues siempre te va a aparecer ya que pones el código dentro del <option>, recuerda que PHP es un Pre-procesador, o sea que primero evalua todo el código y luego te da el resultado, si no quieres que se imprima el option, pues no lo pongas:
Código PHP:
Ver original
  1. // mal:
  2. <option><?php if($foo) foo(); ?></option>
  3.  
  4. // bien
  5. <?php if ($foo) { ?><option><?php echo $foo; ?></option><?php } ?>

Saludos.
  #6 (permalink)  
Antiguo 22/01/2013, 15:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al ocultar texto PHP

Lo que pasa es que sin importar el valor sigues imprimiendo <option> al rededor del bloque lógico, y eso siempre va a generar una copión vacía.

Debes hacer algo así:
Cita:
SI (HAY_VALOR) {
// ENTONCES IMPRIMO EL OPTION COMPLETO
}
// SI NO, ENTONCES NO IMPRIMO NADA
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 22/01/2013, 15:47
Avatar de jmorasandi  
Fecha de Ingreso: enero-2013
Mensajes: 30
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Problema al ocultar texto PHP

Working..

Código:
<?php if ($rsEmp["estado"] == "Pendiente") { ?><option>En Proceso</option><option>Abierto</option><option>Asignado a HE</option><?php } ?>

Etiquetas: select
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 10:41.