Foros del Web » Programando para Internet » PHP »

como muestrar fecha una vez al dia

Estas en el tema de como muestrar fecha una vez al dia en el foro de PHP en Foros del Web. Hola como mostrar la fecha solo cuando sea un dia nuevo para no repetir la fecha en cada publicacion solo una vez al dia alguna ...

  #1 (permalink)  
Antiguo 17/05/2011, 16:10
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
como muestrar fecha una vez al dia

Hola como mostrar la fecha solo cuando sea un dia nuevo para no repetir la fecha en cada publicacion solo una vez al dia alguna idea?

mas omenos esto:
----------------------------------------------
LUNES 1 DE MARZO (mostrar)
----------------------------------------------
comentario (aqui se van publicando los comentarios de este dia LUNES)
comentario2
comentario3
comentario4
------------------------------------------------------
MARTES 2 DE MARZO(volver a mostrar es un dia nuevo)
--------------------------------------------------------
comentario
comentario2
comentario3
comentario4


algun maestro me puede orientar un poco en los pasos que tendria que realizar para conseguir un codigo asin?
  #2 (permalink)  
Antiguo 17/05/2011, 16:51
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: como muestrar fecha una vez al dia

haz un ciclo con las fechas y luego un subciclo anidado con los comentarios de esa fecha:

Código PHP:
$FECHAS=mysql_query("SELECT fecha FROM tabla GROUP BY fecha ORDER BY fecha ASC;");
while(
$fecha=mysql_fecth_array($FECHAS)){
    
$actual=$fecha['fecha'];
    echo 
$fecha['fecha'];
    
$COMENTARIOS=mysql_query("SELECT * FROM tabla WHERE fecha='$actual' ORDER BY fecha ASC;");
    while(
$comentarios=mysql_fecth_array($COMENTARIOS)){
        echo 
$comentarios['nombre']."dijo: ";
        echo 
$comentarios['comentario'];
    }

__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 17/05/2011, 16:59
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

eso podria ser una idea


Código PHP:
Ver original
  1. $valorX='';
  2. for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){#$fechaInicio y $fechaFin son tipo unixtimestamp
  3.     $fecha_actual= date("d/m/Y", $i);
  4.     if ($fecha_actual!=$valorX) {
  5.         echo "un nuevo dia";
  6.         $valorX=$fecha_actual;
  7.     }
  8. }
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #4 (permalink)  
Antiguo 17/05/2011, 17:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

Probare los dos haber pero de momento probare el de stramin pero stramin una cosa tengo que guardar la fecha de la publicaciones en mi db verdad?
no me podiais decir que tipo de campo tiene que ser utilizaria phpmyadmin

Última edición por pithon; 17/05/2011 a las 17:28
  #5 (permalink)  
Antiguo 17/05/2011, 17:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

mogurbon tambien estoy probando tu codigo ya que es para aprender quiero saber hacerlo de ambas formas.

a que te refieres que las variables fecha son de tipo unixtimestamp?
  #6 (permalink)  
Antiguo 17/05/2011, 17:40
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

echale una ojeada a esto


http://php.net/manual/es/function.strtotime.php
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 17/05/2011, 17:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

vale lo hare y ya hos contestare si me fue bien vale saludos
  #8 (permalink)  
Antiguo 17/05/2011, 18:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

mogurbon y como tendria que definir las variables $fechaInicio y $fechaFin algo asin:


$fechaInicio=strtotime("D/m/y");
$fechaFin=strtotime("D/m/y");

No llego a entender del todo tu codigo me lo podrias aclarar lo teorico y lo practico
  #9 (permalink)  
Antiguo 17/05/2011, 19:27
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

checa 1 min tiene 60 segs una hora tiene 3600 segundos , un dia tiene 86400 segundos entonces si como dices, defino un rango de fechas y lo recorro sumando es cantidad de segundos por iteracion para que me de los dias

Código PHP:
Ver original
  1. $fechaInicio=strtotime("10-05-2011");
  2. $fechaFin=strtotime("17-05-2011");
  3. for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){
  4. * * $fecha_actual= date("d/m/Y", $i);
  5. * * echo $fecha_actual."<br>";
  6. }


ahora en el otro codigo $valorX va a ser una bandera que me detectara cuando 'haiga' un cambio de dia y dentro del if hacer lo correspondiente a ese dia

Código PHP:
Ver original
  1. $fechaInicio=strtotime("10-05-2011");
  2. $fechaFin=strtotime("17-05-2011");
  3. $valorX='';
  4. for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){#$fechaInicio y $fechaFin son tipo unixtimestamp
  5. * * $fecha_actual= date("d-m-Y", $i);
  6. * * if ($fecha_actual!=$valorX) {
  7. * * * * echo "un nuevo dia $fecha_actual";
  8. * * * * $valorX=$fecha_actual;
  9. * * }
  10. }
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #10 (permalink)  
Antiguo 17/05/2011, 20:22
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: como muestrar fecha una vez al dia

Hola,

Posiblemente,
Código PHP:
date_default_timezone_set('GMT');

$fecini strtotime('25-05-2011');
$fecfin strtotime('10-06-2011');

$fecact $fecini;
while (
$fecact $fecfin) {
  echo 
'Dia : ' date('d-m-Y'$fecact) . "\n";
  
$fecact strtotime('+1 day'$fecact);
  
// Hace lo del día

¿Ahora bien ... de donde salen los comentarios? Evidentemente están en una base de datos, y a mas que busques día por día si hay comentarios, en un rango de 365 días, sería 365 consultas a la base de datos.

Y cuando no es necesario, no uses consultas anidadas, entre mas fechas hayan mas consultas vas a hacer a la base de datos y tu sitio va a ser lento.

Código PHP:
$result mysql_query("
  select
    fecha,
    autor,
    comentario
  from tabla_comentarios
  order by fecha desc
"
);
if (
mysql_num_rows($result) == 0) {
    echo 
'<h1>No hay datos</h1>';
} else {
    
$i '';
    while (
$row mysql_fetch_assoc($result)) {
        if (
$i != $row['fecha']) {
            
$i $row['fecha'];
            echo 
"<h1>Fecha : $i</h1>";
        }
        echo 
"<p>Autor : {$row['autor']}</p>";
        echo 
"<p>Comentario : {$row['comentario']}</p>";
    }

Saludos,
  #11 (permalink)  
Antiguo 18/05/2011, 03:33
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

mogurbon gracias por contestar bueno no me funciona algo debo de estar haciendo mal ya que me muestra todas las fechas hasta fecha fin y tendria que mostrarse en pantalla solo la fecha actual espero me puedas ayudar
  #12 (permalink)  
Antiguo 18/05/2011, 05:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

stramin,mogurbon,HackmanC ya lo solucione hos queria agradecer la ayuda gracias a vosotros ya se un poquito mas.

aunque hay un detalle que no me convence en mi base de datos me guarda asin la fecha
20130511

y quiero que me la guarde asin miercoles 18 de mayo del 2011

Última edición por pithon; 18/05/2011 a las 06:13
  #13 (permalink)  
Antiguo 18/05/2011, 06:44
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

Cita:
Iniciado por pithon Ver Mensaje
stramin,mogurbon,HackmanC ya lo solucione hos queria agradecer la ayuda gracias a vosotros ya se un poquito mas.

aunque hay un detalle que no me convence en mi base de datos me guarda asin la fecha
20130511

y quiero que me la guarde asin miercoles 18 de mayo del 2011
echale una buena leida a esto, con eso manejas formatos de fechas

http://mx.php.net/manual/es/function.date.php

también si ya un código te funciona seria bueno que lo pegaras aquí por si alquien mas se topa con algún problema parecido sepa por donde entrarle
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #14 (permalink)  
Antiguo 18/05/2011, 07:24
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

mogurbon gracias de nuevo por contestar sobre el codigo estan arriba posteado yo solo lo adapte a mi base datos.

bueno referente a cambiarle el formato hice algo asin

Código PHP:
Ver original
  1. $timestamp=time();
  2. $fecha=date('N-j-n-o',$timestamp);
  3.  echo $fecha;

pero claro ahora como tendria que hacer el array para que la N sea por ejemplo miercoles?

yo hice algo asin:

Código PHP:
Ver original
  1. $dias=array("lunes","martes","miercoles","jueves","viernes","sabado","domingo");
  2.  $i="";
  3.  $dia=date('N');
  4.  while($dias!=0){
  5.     $dia=$dias[$i];
  6.     echo $i;
  7.  }

no funciono me podeis pasar algun tutorial donde salga esta funcion

Última edición por pithon; 18/05/2011 a las 09:05
  #15 (permalink)  
Antiguo 18/05/2011, 09:05
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: como muestrar fecha una vez al dia

Cita:
Iniciado por pithon Ver Mensaje
Probare los dos haber pero de momento probare el de stramin pero stramin una cosa tengo que guardar la fecha de la publicaciones en mi db verdad?
no me podiais decir que tipo de campo tiene que ser utilizaria phpmyadmin
es lógico que debes tener las fechas en la BD, pero no están ya guardadas?

el tipo de datos lo puedes guardar en un DATE o DATETIME
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #16 (permalink)  
Antiguo 18/05/2011, 09:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

si stramin ya las tenia guardadas las fechas ese tema ya lo solucione gracias a vosotros ahora mi problema es el del post de arriba
  #17 (permalink)  
Antiguo 18/05/2011, 10:05
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

buen ya como recorrer las fechas ya hubo ejemplos , en este otro programa no veo como avanzas las fechas en el while pero como dije, ya hay ejemplos, de lo que quieres ahora a lo mejor esto te funciona para darte una idea


Código PHP:
$dias[1]="lunes";
$dias[2]="martes";
$dias[3]="miercoles";
$dias[4]="jueves";
$dias[5]="viernes";
$dias[6]="sabado";
$dias[7]="domingo";
 

echo 
$dias[date("N")]; 
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #18 (permalink)  
Antiguo 18/05/2011, 10:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

yo hice algo asin pero nada alguna pista:
Código PHP:
Ver original
  1. $dias[1]="lunes";
  2. $dias[2]="martes";
  3. $dias[3]="miercoles";
  4. $dias[4]="jueves";
  5. $dias[5]="viernes";
  6. $dias[6]="sabado";
  7. $dias[7]="domingo";
  8. $dia=$dias[date('N')];
  9.  $timestamp=time();
  10. $fecha=date($dia. 'd / n / o',$timestamp);
  11.  
  12.  echo $fecha;
  #19 (permalink)  
Antiguo 18/05/2011, 10:40
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

no entiendo bien que quieres hacer
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #20 (permalink)  
Antiguo 18/05/2011, 10:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

guardar en mi db la fecha asin MIERCOLES 18 DE MAYO DE 2011 y entonces con la variable $fecha guardarla en mi db
  #21 (permalink)  
Antiguo 18/05/2011, 11:00
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

mmm no creo que sea buena idea guardar ese texto como una fecha pero pos si sis e necesita adelante, ya viste como se le hizo para que un arreglo tome valores en español del dia , ahora busca cual seria para el mes y haces un arreglo igual


http://php.net/manual/es/function.date.php

ya con eso vas armando tu cadena para que la insertes
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #22 (permalink)  
Antiguo 18/05/2011, 11:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

gracias ahora lo miro y hos digo algo
  #23 (permalink)  
Antiguo 18/05/2011, 11:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

Hice algo asin pero no se que no queda bien como hago los espacios en blanco

Código PHP:
Ver original
  1. $d=$dias[date('N')];
  2. $m=$mes[date('n')];
  3. $timestamp=time();
  4. $dn=date('j',$timestamp);
  5. $an=date('d',$timestamp);
  6. $fecha=$d.$dn.'de'.$m.'de'.$an;
  7. echo 'HOY ES:'.$fecha;

por cierto me dice que es 11 de mayo cuando hoy es 18 a que es debido

ademas yo quiero esto exactamente miercoles 18 de mayo de 2011
  #24 (permalink)  
Antiguo 18/05/2011, 12:04
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

ya lo tienes solo es cosa de debugear , solo checa que la fecha que te genera date es correcta, tambien checa el reloj de tu server

para lo de las cadenas esta mas papa asi :
Código PHP:
Ver original
  1. echo "HOY ES $d $dn de $m $an";
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #25 (permalink)  
Antiguo 18/05/2011, 12:56
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

Código PHP:
Ver original
  1. $mes[1]='enero';
  2. $mes[2]='febrero';
  3. $mes[3]='marzo';
  4. $mes[4]='abril';
  5. $mes[5]='mayo';
  6. $mes[6]='junio';
  7. $mes[7]='julio';
  8. $mes[8]='agosto';
  9. $mes[9]='septiembre';
  10. $mes[10]='octubre';
  11. $mes[11]='noviembre';
  12. $mes[12]='diciembre';

no hay ninguna forma de recortar codigo con un array o algun bucle
  #26 (permalink)  
Antiguo 18/05/2011, 15:33
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

bueno este tema esta solucionado gracias a los que colabolaron
  #27 (permalink)  
Antiguo 18/05/2011, 15:48
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como muestrar fecha una vez al dia

no te hagas wey y pega como quedo el codigo
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #28 (permalink)  
Antiguo 18/05/2011, 21:01
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: como muestrar fecha una vez al dia

Hola,

Que bueno que ya pudiste resolver esto ... porque ...

Cita:
Iniciado por pithon Ver Mensaje
guardar en mi db la fecha asin MIERCOLES 18 DE MAYO DE 2011 y entonces con la variable $fecha guardarla en mi db
cuando comenzamos a hacer cosas así, que van contra la lógica y la cordura ... yo me zafo.

Saludos,
  #29 (permalink)  
Antiguo 19/05/2011, 03:27
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como muestrar fecha una vez al dia

tienes razon HackmanC guardare la fecha normal saludos
  #30 (permalink)  
Antiguo 19/05/2011, 10:01
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: como muestrar fecha una vez al dia

Esto no es eficiente y carece de sentido, te aseguro que en el futuro te vas a arrepentir de haberlo hecho así, no podrás nunca mas volver atrás, no podras comparar fechas, ordenar fechas, mostrar perdiodos de fecha, en otras palabras tu sistema quedara inutilizado para hacer algoritmos secuenciales, históricos y cronológicos...

Espero que python nos lea.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: dia, fecha
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 23:22.