Foros del Web » Programando para Internet » PHP »

error en elseif

Estas en el tema de error en elseif en el foro de PHP en Foros del Web. Hola. ¿Alguien sabe por qué me da error este condicional? nunca me acepta el tercer y cuarto condicional... Código PHP: if ( $db  ==  "nous" ){ ...
  #1 (permalink)  
Antiguo 30/08/2008, 08:40
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
error en elseif

Hola. ¿Alguien sabe por qué me da error este condicional? nunca me acepta el tercer y cuarto condicional...


Código PHP:
if ($db == "nous"){
$fname="../db/nous.csv";}
elseif (
$db == "vells"){
$fname="../db/vells.csv";}
elseif (
$db == "novetats"){
$fname="../db/catalegvells.csv";}
else{
$fname="../db/catalegnous.csv";} 
  #2 (permalink)  
Antiguo 30/08/2008, 08:45
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: error en elseif

Aparentemente, yo no veo ningún error.

Cuando tienes muchos ifs, es mejor utilizar un switch,

Un saludo.
  #3 (permalink)  
Antiguo 30/08/2008, 08:51
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
De acuerdo Respuesta: error en elseif

prabaré con un switch. Muchas gracias y un saludo
  #4 (permalink)  
Antiguo 31/08/2008, 07:12
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: error en elseif

Cita:
Iniciado por charlyta Ver Mensaje
Hola. ¿Alguien sabe por qué me da error este condicional? nunca me acepta el tercer y cuarto condicional...


Código PHP:
if ($db == "nous"){
   
$fname="../db/nous.csv";
}elseif (
$db == "vells"){
   
$fname="../db/vells.csv";
}elseif (
$db == "novetats"){
   
$fname="../db/catalegvells.csv";
}else{
   
$fname="../db/catalegnous.csv";

Deberías evitar los if encadenados de esta forma, ya que tú y el que venga detrás, demorarán tiempo para entender cómo funciona y cual es el flujo de la lógica.

Perfectamente puedes hacer varios if si esto clarifica ("menos no es más, es menos"), evita la obsesión de los programadores de hacer todo en una sola línea o sentencia (dejando el primer valor por defecto):

Código PHP:
$fname="../db/catalegnous.csv"

if ($db == "nous"){
   
$fname="../db/nous.csv";
}

if (
$db == "vells"){
   
$fname="../db/vells.csv";
}

if (
$db == "novetats"){
   
$fname="../db/catalegvells.csv";

Pero como bien te han sugerido, la estructura ideal es usar un switch con su último valor por defecto en caso que no coincida con ninguna condición.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 18:50.