Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Como sacar fechas de pubicación en PHP y Mysql?

Hola, en el desarrollo de la web que llevo realizando en PHP tengo un pequeño problema sin haberme dado cuenta...

es que creo un post y cuando lo muestro en la pagina pero necesito sacar ala fecha en que fue posteado.

No se como hacerlo.
0
Puntos
6
Resp
501
Visitas
Por Dimetrix hace 24 meses
Principiante offline

Respuesta #1

Hola, necesitas realizar una consulta a la tabla donde tengas todos los post.
​
0
Puntos
Por Juliethsanches hace 24 meses
Principiante offline

Respuesta #2

hola dimetrix
lo primero de lo primero es tener en la base de datos una columna que se llame date o fecha
como atributo timestamp y permedio current_timestamp

luego
function show_date($fecha) {
	if(empty($fecha)) {
		  return "No hay fecha";
	}
   
	$intervalos = array("segundo", "minuto", "hora", "día", "semana", "mes", "año");
	$duraciones = array("60","60","24","7","4.35","12");
   
	$ahora = time();
	$Fecha_Unix = strtotime($fecha);
	
	if(empty($Fecha_Unix)) {   
		  return "Fecha incorracta";
	}
	if($ahora > $Fecha_Unix) {   
		  $diferencia     =$ahora - $Fecha_Unix;
		  $tiempo         = "Hace";
	} else {
		  $diferencia     = $Fecha_Unix -$ahora;
		  $tiempo         = "Dentro de";
	}
	for($j = 0; $diferencia >= $duraciones[$j] && $j < count($duraciones)-1; $j++) {
	  $diferencia /= $duraciones[$j];
	}
   
	$diferencia = round($diferencia);
	
	if($diferencia != 1) {
		$intervalos[5].="e"; //MESES
		$intervalos[$j].= "s";
	}
   
    return "$tiempo $diferencia $intervalos[$j]";
}
// Ejemplos de uso
// fecha en formato yyyy-mm-dd
// echo tiempo_transcurrido('2010/02/05');
// fecha y hora
// echo tiempo_transcurrido('2010/02/10 08:30:00');


ej <? echo show_date($row_post['fecha(date)']);?>

espero que sea de utilidad
1
Puntos
Por pablo hace 24 meses
Experto offline

Respuesta #3

Pablo saludos, Ando un poco confundido con esto.

A ver... este pedazo de código lo voy a utilizar donde sacare el post?

y cuando inserte un post en la base de dato este campo de "fecha" se actualizara automáticamente?

ando enredado en como usar el codigo.
0
Puntos
Por Dimetrix hace 24 meses
Principiante offline

Respuesta #4

Hola dimetrix! Exacto! Si pones en el mysql el campo fecha con timestamp, cuando subas un post, automaticamente te creara la fecha, hora que se realizo la insercion del post.

el codigo que te dejo pablo, es una funcion para que se vea mejor expecificado.
1
Puntos
Por zapikero hace 24 meses
Avanzado offline Sitio web

Respuesta #5

Creo que hay que organizar las ideas.

En primer lugar necesitar crear en la tabla de post un campo para la fecha. Para los blogs suele crearse dos campos.

- created_date: Para saber la fecha y hora en que se creó el post.
- updated_date: Para saber la última vez que se editó el post.

NOTA: Puedes colocarle el nombre que tú quieras, por ejemplo: fecha_creacion, fecha_edicion.

Bien, para el created_date (fecha en que se crea el post) sería bueno colocarlo de tipo TIMESTAMP y como predeterminado CURRENT_TIMESTAMP. Esto tomará como valor la fecha y hora del servidor.
Para updated_date, creo que no se actualizaría solo con CURRENT_TIMESTAMP y si me equivoco que me corrijan, pero yo lo haría manual. lo coloco de tipo VARCHAR. Y cuando actualice un post sería algo como ésto:
$id_post = $_POST["id_post"];
$contenido = $_POST["contenido"];
$update_date = date("Y-m-d H:i:s");

$sql = sprintf("UPDATE post SET contenido=%s, update_date=%s WHERE id=%s",
       GetSQLValueString($contenido,"text"),
       GetSQLValueString($update_date,"text"),
       GetSQLValueString($id_post,"int"));

$query = mysql_query($sql):
↑↑↑↑ Esto es solo un ejemplo.

Hecho esto, ya tendrías las fechas en tu post. Pero al momento de sacarlo tendrías algo como ésto:
2016-01-13 14:54:21

Esa fecha es completa, pero el formato no es agradable para el lector. Es ahí cuando se usa la función compartida por @pablo, que convierte la fecha de ese formato TIMESTAMP a una fecha como: Hace 26 minutos.

¿DONDE COLOCAR ESA FUNCIÓN?

Normalmente esa función se coloca en el archivo functions.php que en teoría debería estar enlazado con todos los archivos mediante el archivo config.php (Si seguimos los cursos de zeuskx).. Entonces, para usarla solo hace falta colocarlo en tu archivo post.php (donde muestras el post) de la siguiente manera:
<?php
   
    // Mostrar fecha del post (Ultima actualizacion)
    echo show_date($updated_date);

?>

¿Por qué muestro updated_date y no created_date?
Esto es como tú quieras. A mi me gusta mostrar más la última fecha de edición pero puedes colocar las dos fechas indicando cuando se creó y cuando fue la última vez que se editó.
0
Puntos
Por Jose hace 24 meses
Experto offline Sitio web

Respuesta #6

Hola, dentro de la tabla donde quieras tener la fecha del registro agregas una nueva columna con los siguientes parámetros:

después de hacerlo, cada vez que hagas una nueva inserción se agregara la fecha de manera automática..

salu2
0
Puntos
Por alber hace 24 meses
Administrador online

Relaccionados

Para comentar Inicia sesión o Registrate