Foros del Web » Programando para Internet » PHP »

Libro de visitas: utilizar fecha y hora

Estas en el tema de Libro de visitas: utilizar fecha y hora en el foro de PHP en Foros del Web. Hola! Quería ver si alguien me podía ayudar con un libro de visitas que quiero crear. Es sencillo, consta de una sola tabla (ID, Nombre, ...
  #1 (permalink)  
Antiguo 30/09/2008, 19:10
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 16 años, 2 meses
Puntos: 1
Libro de visitas: utilizar fecha y hora

Hola!

Quería ver si alguien me podía ayudar con un libro de visitas que quiero crear. Es sencillo, consta de una sola tabla (ID, Nombre, texto y Fecha).

Lo que no se como hacer es como separar las fechas y la hora. Ejemplo, quiero que el primer comentario que se muestra, diga:

"Escrtio el '30-09-2008 a las 21:30 hs". Se entiende? Y lo que quiero es que el usuario no ingrese la hora, sino que se ponga automatica, es decir, que ponga la hora del navegador o del servidor (no se como funciona bien eso...).

Entonces, los inconvenientes sería:

a) como hacer que se ponga la fecha automaticamente
b) como dividirla en fecha y hora para despues poder hacer el echo por separado. Seguramente tenga que usar para esto una funcion AS, pero como no conozco bien su funcionamiento, dejo que los expertos me enseñen!

Desde ya, muchas gracias a todos! Un saludo!

Pablo.
  #2 (permalink)  
Antiguo 30/09/2008, 20:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Libro de visitas: utilizar fecha y hora

Como hacer que se ponga la fecha automaticamente ... es facil, es solo hacer una consulta:
"INSERT INTO tabla VALUES(NULL, '".$nombre."', '".$texto."', '".time()."'";

Eso es si quieres guardar el Timestamp (Que por lo menos para mi es mas conveniente).

Y luego para mostrarlo lo haces con date de PHP.
$fecha = date("tu formato", $campo['fecha']);
  #3 (permalink)  
Antiguo 30/09/2008, 21:01
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 18 años, 2 meses
Puntos: 9
Respuesta: Libro de visitas: utilizar fecha y hora

Hola!! Bueno En tu base de datos tienes que definir el campo de la fecha como DATETIME para guardar la fecha y la hora:
Luego desde tu pagina haces uso de la funcion
Código PHP:
date("Y:m:d:H:i:s"); 
Y para dividir la fecha, puedes buscar informacion de las funciones explode() o substring()

Saludos
__________________
->Aprender es un proceso que incluye el error..
  #4 (permalink)  
Antiguo 30/09/2008, 21:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Libro de visitas: utilizar fecha y hora

Cita:
Y para dividir la fecha, puedes buscar informacion de las funciones explode() o substring()
Se puede hacer directo desde la misma funcion date.

date("d-m-Y \a \l\a\s H:i \h\s");
  #5 (permalink)  
Antiguo 30/09/2008, 21:06
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 18 años, 2 meses
Puntos: 9
Respuesta: Libro de visitas: utilizar fecha y hora

OK, buenisimo gracias por el dato Ronruby, no sabia jeje.

Saludos man!!!
__________________
->Aprender es un proceso que incluye el error..
  #6 (permalink)  
Antiguo 30/09/2008, 21:27
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Libro de visitas: utilizar fecha y hora

mmm.. no entendi muy bien lo de insertar la fecha...

supongamos que tengo este formulario en el que yo ingreso el nombre y el texto (comentario):

Código:
<form method="post" name="form2" action="<?php echo $editFormAction; ?>">
            <table width="100%" align="center">
              <tr valign="baseline">
                <td nowrap align="right"><strong>Nombre:</strong></td>
                <td><input height="15px" type="text" name="Nombre" value="" size="32"></td>
              </tr>
              <tr valign="baseline">
                <td nowrap align="right"><strong>Comentario:</strong></td>
                <td><textarea name="Comentario" cols="45" rows="5" id="txtArea_comentario" onblur="javascript: LimitarCaracteres('txtArea_comentario','', 3000)" onkeyup="javascript: LimitarCaracteres('txtArea_comentario','', 3000)"> </textarea></td>
              </tr>
              <tr valign="baseline">
                <td nowrap align="right">&nbsp;</td>
                <td><div align="right"><input name="submit" type="submit" value="Enviar Comentario"></div> </td>
              </tr>
            </table>
            <input type="hidden" name="MM_insert" value="form2">
          </form>
Ahora, yo tengo el siguiente codigo para insertar los valores...

Código PHP:

"INSERT INTO visitas (Nombre, Comentario, Fecha) VALUES (%s, %s, '".time()."')" 
Algo asi sería lo que tengo que hacer??? porque me muestra 0000-00-00 00:00... asique algo debe estar funcionando mal....

alguna ayuda?
  #7 (permalink)  
Antiguo 30/09/2008, 21:37
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Libro de visitas: utilizar fecha y hora

Depende de el tipo de campo en el que quieras meter la fecha. Al parecer tienes un campo DATETIME. En ese caso usa: date("Y-m-d H:i"); para meter los datos a la DB.
  #8 (permalink)  
Antiguo 30/09/2008, 21:49
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Libro de visitas: utilizar fecha y hora

claro.. que tonto que soy! jajajaj

y con lo de la fecha, para separlo por hora y dia... y para que le fecha quede como en la argentina (dd/mm/aaaa)... como se puede definir?

Porque no entendi el codigo que me diste arriba.. :S no manejo mucho las funciones de fecha, como veras!

gracias nuevamente!

pablo

pd: por si no se entiende, no es mi duda la funcion en si, sino como mostrarlo en cada comentario!

muchas gracias!
  #9 (permalink)  
Antiguo 30/09/2008, 22:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Libro de visitas: utilizar fecha y hora

Tienes dos opciones (pero se llega a lo mismo en ambas).

Sacar el timestamp directamente en la consulta MySQL o obtenerlo usando la funcion strtotime().

con MySQL un ejemplo:
SELECT ID, nombre, texto, UNIX_TIMESTAMP(fecha) AS timestamp FROM librovisitas;

o en el script con strtotime seria:
SELECT * FROM librovisitas;
//Luego de procesado el resultado haces:
$timestamp = strtotime($row['fecha']);

Y luego insertas el timestamp en la funcion date().
http://www.php.net/manual/es/function.date.php

Ejemplo: date("d-m-Y H:i", $timestamp_aqui);
Y ya...
Si lo hiciste directamente de MySQL entonces seria date("formato", $row['timestamp']);
  #10 (permalink)  
Antiguo 30/09/2008, 22:08
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Libro de visitas: utilizar fecha y hora

Y ya teniendo eso (lo que te dijo Ronruby), puedes usar la función date() dos veces, en una pones el formato para mostrar el día/mes/año, y en otra la hora:

Código php:
Ver original
  1. $hora = date("h:i:s a", $row['timestamp']);
  2. $fecha = date("d/m/Y", $row['timestamp']);

Saludos,
  #11 (permalink)  
Antiguo 30/09/2008, 22:40
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Libro de visitas: utilizar fecha y hora

Muchas gracias por las respuestas!!

Trate con la opcion de Ronruby.. y no me sale ningun error, pero no me sale del todo!... como que algunos funcionan y que otros no.

Asique probe esta solucion, que por lo menos ahora, funciona.

Que me cuentan? es muy rebuscada?

Código PHP:
$query_comentario 'SELECT Comentario, ID, Nombre, DATE_FORMAT( Fecha, \'%d-%m-%Y %H:%i\' ) AS fecharg FROM visitas ORDER BY ID DESC '
y despues, en cada resultado.. asi:

Código PHP:
<?php $fechaexplode (" "$row_comentario['fecharg']);
$dia$fecha [0];
echo 
$dia?> a las <? $fechaexplode (" "$row_comentario['fecharg']); $hora$fecha [1]; echo $hora ;?>
Es decir: lo que hice fue, al resultado de la fecha, la hice el explode, y luego utilice eso para el echo... creo que por ahora funciona bastante bien... alguna de las dos soluciones es mas facil/mejor?

Un saludo, y gracias por su ayuda!

Pablo.

pd: ah, me olvidaba... el horario aparece una hora atrasada... en que se basa la hora que aparece? en la hora del servidor? del navegador?

Última edición por locoxchacho; 30/09/2008 a las 22:42 Razón: PD!
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:35.