Foros del Web » Programando para Internet » PHP »

Mostrar solo eventos mes en curso

Estas en el tema de Mostrar solo eventos mes en curso en el foro de PHP en Foros del Web. Hola tengo una pagina en la que tengo que mostrar tan solo los eventos del mes en curso para ello hago lo siguiente <? $mes ...
  #1 (permalink)  
Antiguo 01/04/2010, 06:02
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 10 meses
Puntos: 1
Mostrar solo eventos mes en curso

Hola tengo una pagina en la que tengo que mostrar tan solo los eventos del mes en curso para ello hago lo siguiente

<?
$mes = date('m'); // Mes actual (numerico)
$mesagenda = date ('m',strtotime($row_fechas['fecha']));
?>

<?php do { ?>
<div class="entry">
<p class="fechaagenda"><?php echo date("d-m-Y",strtotime($row_fechas['fecha'])); ?></p>
<?
mysql_select_db($database_pseweb, $pseweb);
$query_eventos = "SELECT id,fecha,evento FROM agenda where fecha='" . $row_fechas[fecha] . "' and '" . $mesagenda . '"="' . $mes . "' ORDER BY agenda.fecha desc";
$eventos = mysql_query($query_eventos, $pseweb) or die(mysql_error());
$row_eventos = mysql_fetch_assoc($eventos);
$totalRows_eventos = mysql_num_rows($eventos);
?>
<? do{ ?>
<p><a href="veragenda.php?fecha=<?php echo $row_eventos['fecha']; ?>" title="Ampliar"><?php echo $row_eventos['evento']; ?></a></p>
</div> <!--Fin div entry-->
<? } while ($row_eventos = mysql_fetch_assoc($eventos)); ?>
<?php } while ($row_fechas = mysql_fetch_assoc($fechas)); ?>

Y lo que me hace es enseñar todos
  #2 (permalink)  
Antiguo 01/04/2010, 06:34
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: Mostrar solo eventos mes en curso

No entiendo, ¿q es $mesagenda? Debería ser la columna de tu tabla.
  #3 (permalink)  
Antiguo 01/04/2010, 06:35
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Mostrar solo eventos mes en curso

Según tu código tus tablas tienen un campo llamado $mesagenda (cualquiera que sea el valor que guarda esta variable).

Creo que no lo hiciste bien en ese punto.
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it
  #4 (permalink)  
Antiguo 01/04/2010, 06:44
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Mostrar solo eventos mes en curso

lo he cambiado por est0

$query_eventos = "SELECT id,fecha,evento FROM agenda where fecha='" . $row_fechas[fecha] . "' and '" . date ('m',strtotime($row_fechas['fecha'])) . '"="' . date('m') . "' ORDER BY agenda.fecha desc";

Pero sigue igual
  #5 (permalink)  
Antiguo 01/04/2010, 06:56
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Mostrar solo eventos mes en curso

Sigues con el mismo problema. Estás usando una columna que no existe.

SELECT -- Selecciona
id,fecha,evento --estos campos de los registros
FROM --de
agenda -- la tabla agenda
WHERE -- donde (los registros que vamos a extraer cumplen)
fecha='" . $row_fechas[fecha] . "' --Que el campo fecha vale $row_fechas...
and -- Y, además,
'" . date ('m',strtotime($row_fechas['fecha'])) . '"="' . date('m') . "' -- que el campo date(...)
-- valga date('m'), pero fijate que el campo date(...) no deberá existir
ORDER BY -- Ordena los resultados por
agenda.fecha DESC-- la fecha descendiente
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it
  #6 (permalink)  
Antiguo 01/04/2010, 06:59
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: Mostrar solo eventos mes en curso

Resumen, sustituye
Código PHP:
Ver original
  1. "' and '" . date ('m',strtotime($row_fechas['fecha'])) . '"="' . date('m') . "' ORDER BY agenda.fecha desc";
Por
Código PHP:
Ver original
  1. "' and tu_columna ='" . date('m') . "' ORDER BY agenda.fecha desc";
  #7 (permalink)  
Antiguo 01/04/2010, 07:04
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Mostrar solo eventos mes en curso

Cita:
Iniciado por eulloa Ver Mensaje
Resumen, sustituye
Código PHP:
Ver original
  1. "' and '" . date ('m',strtotime($row_fechas['fecha'])) . '"="' . date('m') . "' ORDER BY agenda.fecha desc";
Por
Código PHP:
Ver original
  1. "' and tu_columna ='" . date('m') . "' ORDER BY agenda.fecha desc";
Tal y como me dices la select no daria ningun resultado porque la columna que es fecha, hay que convertirla tambien a date ('m') para que pueda comparar bien
  #8 (permalink)  
Antiguo 01/04/2010, 07:15
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: Mostrar solo eventos mes en curso

Cita:
Iniciado por astrow25 Ver Mensaje
Tal y como me dices la select no daria ningun resultado porque la columna que es fecha, hay que convertirla tambien a date ('m') para que pueda comparar bien
El dato guardado en la columna es lo q tienes que convertir, no el nombre de la columna.
¿Viste lo q te posteó AnesGy?
La sintaxis es columna = 'dato'.
Luego 'dato' es lo que debes llevar a date(m) "para que pueda comparar bien", no `fecha` q es el nombre de tu columna
  #9 (permalink)  
Antiguo 01/04/2010, 07:16
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Mostrar solo eventos mes en curso

Mas simple, pon la estructura de la base de datos.
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it
  #10 (permalink)  
Antiguo 01/04/2010, 07:19
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Mostrar solo eventos mes en curso

id -int
fecha -date
evento - varchar
detalle - longtext

Y lo que quiero hacer es convertir la fecha para que me coga el mes y comparla con el mes actual para mostrarme solo los eventos del mes actual
  #11 (permalink)  
Antiguo 01/04/2010, 07:33
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Mostrar solo eventos mes en curso

ya lo he conseguido

where month(fecha)='" . date('m') .....

Etiquetas: curso, eventos
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 21:43.