Foros del Web » Programando para Internet » PHP »

Error en condicional

Estas en el tema de Error en condicional en el foro de PHP en Foros del Web. Necesito darle nombre a los meses del año en la fecha, para eso he hecho este condicional @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original $mes = ...
  #1 (permalink)  
Antiguo 20/01/2009, 09:48
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Error en condicional

Necesito darle nombre a los meses del año en la fecha,
para eso he hecho este condicional

Código php:
Ver original
  1. $mes=date("m");
  2. if ($mes=='01'){
  3. $mesletra=='enero'}
  4. elseif ($mes=='02'){
  5. $mesletra=='febrero'}
  6.  elseif ($mes=='03'){
  7. $mesletra=='marzo'}
  8. elseif ($mes=='04'){
  9. $mesletra=='abril'}
  10. elseif ($mes=='05'){
  11. $mesletra=='mayo'}
  12. elseif ($mes=='06'){
  13. $mesletra=='junio'}
  14. elseif ($mes=='07'){
  15. $mesletra=='julio'}
  16. elseif ($mes=='08'){
  17. $mesletra=='agosto' }
  18. elseif ($mes=='09'){
  19. $mesletra=='septiembre' }
  20. elseif ($mes=='10'){
  21. $mesletra=='octubre' }
  22. elseif ($mes=='11'){
  23. $mesletra=='noviembre'}
  24. elseif ($mes=='12'){
  25. $mesletra=='diciembre'}

pero cuando lo corro me da este error


Parse error: syntax error, unexpected '}' on line 3
__________________
Say no more.......
  #2 (permalink)  
Antiguo 20/01/2009, 09:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Error en condicional

intenta colocar despues del nombre de cada mes punto y coma.
Saludos
  #3 (permalink)  
Antiguo 20/01/2009, 10:03
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: Error en condicional

gracias, lo coloque pero ahora me paso el mismo error a otra linea

Código php:
Ver original
  1. $mes=date("m");
  2.  
  3. if ($mes=='01'){
  4. $mesletra=='enero';}
  5. elseif ($mes=='02'){
  6. $mesletra=='febrero';}
  7.  elseif ($mes=='03'){
  8. $mesletra=='marzo';}
  9. elseif ($mes=='04'){
  10. $mesletra=='abril';}
  11. elseif ($mes=='05'){
  12. $mesletra=='mayo';}
  13. elseif ($mes=='06'){
  14. $mesletra=='junio';}
  15. elseif ($mes=='07'){
  16. $mesletra=='julio';}
  17. elseif ($mes=='08'){
  18. $mesletra=='agosto';}
  19. elseif ($mes=='09'){
  20. $mesletra=='septiembre';}
  21. elseif ($mes=='10'){
  22. $mesletra=='octubre';}
  23. elseif ($mes=='11'){
  24. $mesletra=='noviembre';}
  25. elseif ($mes=='12'){
  26. $mesletra=='diciembre';}
  27.  
  28. echo $mesletra;
  29. }

me lo paso a la ultima donde hago el echo
__________________
Say no more.......
  #4 (permalink)  
Antiguo 20/01/2009, 10:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Error en condicional

Cita:
echo $mesletra;
}
De donde sale este ultimo "}".

Por cierto, es mas facil usar un switch para lo que tu necesitas:
http://www.php.net/manual/es/control...res.switch.php

Sino: setlocale + strftime
  #5 (permalink)  
Antiguo 20/01/2009, 10:09
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: Error en condicional

ese "}" sale porque esa condicion la estoy metiendo dentro de otra que ya tenia, pero si voy a ver si lo trabajo mejor con switch
__________________
Say no more.......
  #6 (permalink)  
Antiguo 20/01/2009, 10:12
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Error en condicional

Cita:
elseif ($mes=='11'){
$mesletra=='noviembre';}
Me acabo de dar cuenta de eso, el operador == es de comparacion, no de asignacion.
  #7 (permalink)  
Antiguo 20/01/2009, 10:19
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Error en condicional

Cita:
Iniciado por el_cesar Ver Mensaje
Necesito darle nombre a los meses del año en la fecha,
para eso he hecho este condicional

Código php:
Ver original
  1. $mes=date("m");
  2. if ($mes=='01'){
  3. $mesletra=='enero'}
  4. elseif ($mes=='02'){
  5. $mesletra=='febrero'}
  6.  elseif ($mes=='03'){
  7. $mesletra=='marzo'}
  8. elseif ($mes=='04'){
  9. $mesletra=='abril'}
  10. elseif ($mes=='05'){
  11. $mesletra=='mayo'}
  12. elseif ($mes=='06'){
  13. $mesletra=='junio'}
  14. elseif ($mes=='07'){
  15. $mesletra=='julio'}
  16. elseif ($mes=='08'){
  17. $mesletra=='agosto' }
  18. elseif ($mes=='09'){
  19. $mesletra=='septiembre' }
  20. elseif ($mes=='10'){
  21. $mesletra=='octubre' }
  22. elseif ($mes=='11'){
  23. $mesletra=='noviembre'}
  24. elseif ($mes=='12'){
  25. $mesletra=='diciembre'}

pero cuando lo corro me da este error


Parse error: syntax error, unexpected '}' on line 3
Sabes? haz algo mejor, estás escribiendo demasiado para hacer algo tan simple, mejor usa este código:

Código PHP:
$mes=date("m");
$meses = array("""enero""febrero""marzo""abril""mayo""junio""julio""agosto""septiembre""octubre""noviembre""diciembre");

$mesletra $meses[intVal($mes)]; 
Y no solo te voy a dar el código también te voy a decir que una cosa es comparar y otra cosa es asignar, en tu caso estás usando el operador == para ambas cosas. Para comparar usa ==, por ejemplo: if ($mes == '01'), pero al asignar debes usar este operador: =, por ejemplo: $mesletra = 'enero'; esa es la forma.

Última edición por ElJavista; 20/01/2009 a las 13:48
  #8 (permalink)  
Antiguo 20/01/2009, 10:36
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: Error en condicional

Eljavista muchas gracias funciono perfecto, justo lo que necesitaba
__________________
Say no more.......
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 00:44.