Ahora es correcto pero no le da la gana de funcionar, tengo esto:
if ($misid = 0){
echo 'La id no es válida';
}else{
// Hasta aquí funciona aunque diría que es ==
if ($estado = 'no') {
echo 'No está disponible';
}else if ($estado = 'si'){
echo 'Se encuentra disponible';
}
}
Cuando indico el estado si, sale No está disponible.
Cuandi indico el estado no, sale No está disponible.
Cita de: Servia en 5 Junio 2009, 18:32 PM
if ($misid == 0){
echo 'La id no es válida';
}else{
// Hasta aquí funciona aunque diría que es ==
if ($estado == 'no') {
echo 'No está disponible';
}elseif ($estado == 'si'){
echo 'Se encuentra disponible';
}
}
Cuando indico el estado si, sale No está disponible.
Cuandi indico el estado no, sale No está disponible.
Mira haber ahora. He jutando else+if y he colocado 2 iguales (porque 2 iguales se usan cuando comparas, uno cuando asignas)
Ahora directamente no sale nada :S
He corregido otro error, falta un } si no me equivoco.
if ($misid==0)
echo 'La id no es válida';
else
{
if ($estado=='no')
echo 'No está disponible';
elseif ($estado=='si')
echo 'Se encuentra disponible';
}
Ahora si funciona bien, que lo he probado xD
Es exactamente lo que posteé, solamente que he quitado muchos {}
Usa los {} cuando dentro del if o else, o elseif, haya más de una linea. Si solamente vas a poner una linea no los pongas, que te liarás.
PD: recuerda que la variable misid, valdrá cero, siempre que no valga otro numero. Es decir, que si no está declarada valdrá cero, y si le asignas caracteres, tambien valdrá cero.
PD2: Un consejo, sangra!!!!
oooo
Citar
if (empty($misid))
echo 'La id no es válida';
elseif ($estado=='no')
echo 'No está disponible';
elseif ($estado=='si')
echo 'Se encuentra disponible';
no deberías liarte si siempre identas el código,
saludos!
Cita de: Servia en 5 Junio 2009, 19:16 PM
Ahora directamente no sale nada :S
Pero te tira algun error el interprete de PHP, o directamente no sale nada en la pagina?
PD: si lo que intentas hacer con
$misid == 0 es comprobar si $misid es
FALSE solo basta con hacer:
if(!$misid)
{
//sentencias si $misid es FALSE
}
else
{
//sentencia si $misid es TRUE
}
Perdón por no contestar, directamente no sale nada, voy a probar las otras formas que habéis puesto vosotros.
Edito: Ahora ya ni con el original sale nada.
Parece ser que el hosting tiene problemas, hasta que no resuelvan los suyos no podré saber de los míos.
Si no te funciona el codigo que puse, es porque, o algo pasa en el resto de tu código, o porque llevas un lio xD Pero funcionar funciona perfectamente.
if ($misid==0)
echo 'La id no es válida';
else
{
if ($estado=='no')
echo 'No está disponible';
elseif ($estado=='si')
echo 'Se encuentra disponible';
}
Para estas cosas igual necesitas hacer una
"tabla de verdad" para aclararte:
misid | estado | resolucion |
cualquier cosa menos 0 | cualquier cosa menos si o no | no sale nada |
cualquier cosa menos 0 | si | Se encuentra disponible |
cualquier cosa menos 0 | no | No está disponible |
0 | da igual lo que ponga | La id no es válida |
NOTA: Si no está declarado, es igual a cero. Es decir, que si no está declarado misid, seria lo mismo que decir que vale 0, y lo mismo con estado.
Saludos
Lipman he probado lo que has puesto y se queda en blanco. He quitado todo lo que hay dentro del else y el primer if si que funciona, por lo que debe ser problema del formato de la variable $estado.
Edito: ese era el problema muchas gracias.