Foros del Web » Programando para Internet » PHP »

Imprimir un elemento de array

Estas en el tema de Imprimir un elemento de array en el foro de PHP en Foros del Web. Hola gente, tengo el siguiente codigo: Código PHP: $consultar = "select id,titulo,subtitulo,contenido,fecha FROM noticias ORDER BY id DESC" ; $cont_post = mysql_query ( $consultar )or die( "error en query:" . mysql_error ()); $mat = mysql_fetch_assoc ...
  #1 (permalink)  
Antiguo 11/07/2009, 17:16
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Desacuerdo Imprimir un elemento de array

Hola gente, tengo el siguiente codigo:

Código PHP:
$consultar="select id,titulo,subtitulo,contenido,fecha FROM noticias ORDER BY id DESC";
$cont_post=mysql_query($consultar)or die("error en query:".mysql_error());
$mat=mysql_fetch_assoc($cont_post);
$year=substr($mat['fecha'],0,4);
$dia=substr($mat['fecha'],8,2);
$month=substr($mat['fecha'],5,2);
$mesArray = array( 01 => "Enero"02 => "Febrero"03 => "Marzo"04 => "Abril"05 => "Mayo"06 => "Junio"07 => "Julio"08 => "Agosto"09 => "Septiembre"10 => "Octubre"11 => "Noviembre"12 => "Diciembre" );
echo 
$mesArray['$month']; 
Extraigo de la base de datos el dia mes y año en que se publico una noticia, y luego quiero imprimir el mes segun el numero, pero no me imprime nada, porque sera?
  #2 (permalink)  
Antiguo 11/07/2009, 17:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Imprimir un elemento de array

porque las comillas sencillas NO evalúan variables....

de hecho, ni siquiera son necesarias para lo que necesitas....

Código PHP:
echo $mesArray[$month]; 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/07/2009, 13:56
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Imprimir un elemento de array

Gracias por tu respuesta pero tampoco funciona asi, ya lo habia probado.

Nose porque no funciona
  #4 (permalink)  
Antiguo 12/07/2009, 14:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Imprimir un elemento de array

has esto...

Código PHP:
echo $month
¿¿que arroja???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 12/07/2009, 14:05
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Imprimir un elemento de array

me devuelve:

06

que seria junio, ya lo habia hecho esto tambien, por eo mismo no entiendo porque no funciona con el array.

Hasta probe con :

Código PHP:
echo $mesArray[06]; 
Y ahi si me devuelve en la pantalla: Junio
  #6 (permalink)  
Antiguo 12/07/2009, 14:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Imprimir un elemento de array

No antepongas el 0 en las llaves de tu array, ya que PHP interpreta el número como octal, es mejor usar directo los números del 1 al 12, y posteriormente usar (int) sobre tu variable $month para que PHP lea el número y no lo interprete como string.

Saludos.
  #7 (permalink)  
Antiguo 13/07/2009, 15:19
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Imprimir un elemento de array

es decir que tendria que declarar a $month como int? antes de usarla?
  #8 (permalink)  
Antiguo 13/07/2009, 15:26
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Imprimir un elemento de array

Gracias Gator, el codigo final quedo asi:
Código PHP:
$consultar="select id,titulo,subtitulo,contenido,fecha FROM noticias ORDER BY id DESC";
$cont_post=mysql_query($consultar)or die("error en query:".mysql_error());
$mat=mysql_fetch_assoc($cont_post);
$year=substr($mat['fecha'],0,4);
$dia=substr($mat['fecha'],8,2);
$month=substr($mat['fecha'],5,2);
settype($month,'integer');
$mesarray = array( 01 => "Enero"02 => "Febrero"03 => "Marzo"04 => "Abril"05 => "Mayo"06 => "Junio"07 => "Julio"08 => "Agosto"09 => "Septiembre"10 => "Octubre"11 => "Noviembre"12 => "Diciembre" );
echo 
$mesarray[$month]; 
Le agregue esto : settype($month,'integer');
Que lo que me hace es convertir de caracter a tipo entero, como muy bien decias.

Asi que problema resuelto, Saludos, muchas gracias!
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 02:44.