Foros del Web » Programando para Internet » PHP »

Gestor de Noticias para HTML con PHP [novato]

Estas en el tema de Gestor de Noticias para HTML con PHP [novato] en el foro de PHP en Foros del Web. A ver, el NOW() se lo pasas a la base de datos cuando haces la consulta INSERT, la base de datos cambia el NOW() por ...

  #91 (permalink)  
Antiguo 03/05/2010, 04:39
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

A ver, el NOW() se lo pasas a la base de datos cuando haces la consulta INSERT, la base de datos cambia el NOW() por el timestamp, que son números, entonces para pasarle el timestamp a la función date tienes que coger el valor del campo donde utilizaste NOW() en la base de datos, y pasarselo a la función date como segundo parametro, eso que te digo en caso de que quieras mostrar la fecha que guardaste en la base de datos, si quieres mostrar la fecha actual puedes usar time() que te devuelve el timestamp actual, date("m.d.y", time());, pero si quieres mostrar el que guardaste en la base de datos, haz una consulta y ponlo en la función date como segundo parametro.

Un saludo
  #92 (permalink)  
Antiguo 03/05/2010, 04:46
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

De acuerdo, mensaje captado xd

Entonces a la hora de mostrarlo en el index.php debería poner

$row[date("m.d.y",fecha)] no?



PD: El campo en el que se guarda el NOW se llama fecha.
  #93 (permalink)  
Antiguo 03/05/2010, 04:48
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Si en la variable $fecha tienes guardado el timestamp del campo fecha si, recuerda que a la hora de hacer las consultas y eso los campos se suelen almacenar en un array parecido a $row['fecha'].


Un saludo
  #94 (permalink)  
Antiguo 03/05/2010, 04:51
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Uff, error. xD

Warning: date() expects parameter 2 to be long, string given in /home/a7366460/public_html/index.php on line 168

te copio codigo:

Código PHP:
while($row=mysql_fetch_array($result)) {
      echo 
"<span class=\"Estilo35\"><img src=\"imagenes/prueba2.png\" width=\"50\" height=\"50\">".$row[titulo]."</span><br><p>".$row[noticia]."</p><br><div>".$row[autor]." | "
      
.$row[date("m.d.y",fecha)]." | ".$row[categoria]." | <a href=\"noticias/editar.php?id=".$row[id_noticia]."\">editar</a></div><br><div align=\"center\"><img src=\"imagenes/separador.png\" width=\"400\" height=\"15\"></div>"
  #95 (permalink)  
Antiguo 03/05/2010, 04:54
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Pero que cosa mas rara has hecho xD.

Código PHP:
date("m.d.y"$row['fecha']); 
Así, no $row[date("m.d.y",fecha)]

Un saludo
  #96 (permalink)  
Antiguo 03/05/2010, 04:56
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Pero que cosa mas rara has hecho xD.

Código PHP:
date("m.d.y"$row['fecha']); 
Así, no $row[date("m.d.y",fecha)]

Un saludo
Trato al PHP como si fuera SQL.. gran error haber estudiado SQL jajaja

Voy a probar.
  #97 (permalink)  
Antiguo 03/05/2010, 05:00
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Ahora sí, pero me coge una fecha rarísima; 31.12.1969 XDD
  #98 (permalink)  
Antiguo 03/05/2010, 05:01
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

uy, que raro, eso creo que va a ser más bien problema del servidor MySQL, sabes/puedes mirar que fecha tiene puesta el servidor?
  #99 (permalink)  
Antiguo 03/05/2010, 05:07
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
uy, que raro, eso creo que va a ser más bien problema del servidor MySQL, sabes/puedes mirar que fecha tiene puesta el servidor?

Ni idea de como se mira, asique... xdd
  #100 (permalink)  
Antiguo 03/05/2010, 05:08
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Si pones:
Código PHP:
echo date("dd-mm-yy"time()); 
¿Que fecha te sale?
  #101 (permalink)  
Antiguo 03/05/2010, 05:17
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Si pones:
Código PHP:
echo date("dd-mm-yy"time()); 
¿Que fecha te sale?
0303-0505-1010 xD

en realidad sale asi porque hemos puesto mal el formato, pero Sí, la fecha esta correcta. ;S 03-05-2010

Esta es la fecha de una de las noticias que hay en la pagina;
2010-04-30 06:46:09

Y luego al mostrarla sale 31-12-1969
  #102 (permalink)  
Antiguo 03/05/2010, 05:20
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cierto, confusión mia, jeje, pues entonces lo único que se me ocurre es que no uses el comando SQL NOW(), ya que al parecer devuelve un timestamp incorrecto, usa el que devuelve PHP, en el script para insertar noticias, tienes la consulta insert donde le pasas NOW(), en vez de pasarle NOW() pasale una variable, por ejemplo, $now, y a $now le asignas time():

$now = time().

Así ahora ya pondrá el timestamp correcto cuando insertes una noticia (En las ya insertadas no funcionará, solo en las nuevas).

Un saludo
  #103 (permalink)  
Antiguo 03/05/2010, 05:27
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

He añadido lo siguiente

Código PHP:
<?
      
//recibimos las variables enviadas por el formulario
      
$titulo=$_POST[titulo];
      
$autor=$_POST[autor];
      
$categoria=$_POST[categoria];
      
$articulo=$_POST[articulo];
      
$now time();
      include (
"conex.php");
      
//insertamos los registros almacenados en las variables
      
mysql_query("insert into noticias(autor,titulo,categoria,fecha,noticia) 
      values('$autor','$titulo','$categoria','$now','$articulo')"
,$connect); 
      
header("location: ../index.php");
?>
Lo he añadido en procesanoticia.php
Pero ahora las noticias se añaden a la bbdd sin datos, es decir 0000-00-00 00:00:00.

Y en la página index.php no las muestra. (No muestra las noticias, ni titulo ni contenido ni nada..).
  #104 (permalink)  
Antiguo 03/05/2010, 05:31
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Creo que ya sé porque antes ponía esa fecha... pero bueno ahora ya lo estamos haciendo de esta forma, debes poner que el campo fecha sea un int o timestamp con suficiente longitud para almacenar el timestamp por completo, una vez hecho eso ya debe ir todo a la perfección.

Un saludo
  #105 (permalink)  
Antiguo 03/05/2010, 05:38
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Creo que ya sé porque antes ponía esa fecha... pero bueno ahora ya lo estamos haciendo de esta forma, debes poner que el campo fecha sea un int o timestamp con suficiente longitud para almacenar el timestamp por completo, una vez hecho eso ya debe ir todo a la perfección.

Un saludo

Ahora si me la ha cambiado, incluso de las noticias que ya tenia puestas, pero para que me lo mostrase en el index he tenido que borrar el date().

Voy a probar de otra manera a ver si me lo muestra xD
  #106 (permalink)  
Antiguo 03/05/2010, 05:39
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Pero entonces te funciona ya bien? marcandote las fechas correctas?
  #107 (permalink)  
Antiguo 03/05/2010, 05:41
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Uso la función date; date("d-m-Y",$row[fecha]) y me muestra la fecha de antes 31-12-1969.

El problema esta en la función date.

PD: Si ya me las mostraba bien.
  #108 (permalink)  
Antiguo 03/05/2010, 05:44
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

En el campo fecha que datos tienes?, son numeros? deben ser numeros, pero no separados por - ni por : ni por nada, números sin sentido aparente, y acuerdate de poner las comillas en $row["fecha"].
  #109 (permalink)  
Antiguo 03/05/2010, 05:47
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Antes me insertaba estos datos

2010-04-30 07:50:33

Ahora no me inserta nada, bueno si esto

0000-00-00 00:00:00


Respecto a lo de las comillas, en todos los sitios lo tengo sin ellas, del tiron $row[fecha], $row[categoria] etc..
  #110 (permalink)  
Antiguo 03/05/2010, 05:49
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Un timestamp no tiene formato de fecha, son números, y ese es el problema, el timestamp es lo mas manejable a la hora de trabajar con fechas, pero si mantienes el campo fecha con ese formato y no lo pones como INT o como TIMESTAMP no va a funcionar.
  #111 (permalink)  
Antiguo 03/05/2010, 05:50
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Siento darte una mala noticia, pero el campo es timestamp

fecha timestamp ON UPDATE CURRENT_TIMESTAMP
  #112 (permalink)  
Antiguo 03/05/2010, 05:56
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Vale, acabo de hacer unas pruebas y tienes razon, el campo timestamp lo muestra así (tienes que poner en Predeterminado Current_timestamp), tienes dos opciones ahora:

O no enviarle ningun parametro al campo (he comprobado que si lo dejas vacio coje la fecha actual)

O cambiar el campo a INT para que almacene el timestamp que se le envia mediante PHP.

P.D: Si dejas el atributo ON UPDATE CURRENT_TIMESTAMP, cuando hagas un update, el campo timestamp actualizara el valor a la fecha actual del update


Prueba la que mas correcta te parezca y me comentas.
  #113 (permalink)  
Antiguo 03/05/2010, 06:03
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Vale, acabo de hacer unas pruebas y tienes razon, el campo timestamp lo muestra así (tienes que poner en Predeterminado Current_timestamp), tienes dos opciones ahora:

O no enviarle ningun parametro al campo (he comprobado que si lo dejas vacio coje la fecha actual)

O cambiar el campo a INT para que almacene el timestamp que se le envia mediante PHP.

P.D: Si dejas el atributo ON UPDATE CURRENT_TIMESTAMP, cuando hagas un update, el campo timestamp actualizara el valor a la fecha actual del update


Prueba la que mas correcta te parezca y me comentas.
Dejaré el campo en ON UPDATE, para que si hacen una actualización quede reflejado.

Al campo no le envio parametros, en el formulario no tengo el campo para que elijan la fecha, es decir, la coge sola.

Me interesa que la fecha la coja sola, y que la muestre despues en el formato 03/05/2010.

Dime cual es la mejor opcion, si campo Datetime, Timestamp, Int o cual,y lo aplico.

Un saludo y gracias Heli0s.
  #114 (permalink)  
Antiguo 03/05/2010, 06:09
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Si quieres mostrarlo así yo creo que lo mejor es int, asi se almacenará el timestamp con números, y le das el formato que quieras con la función date, pero en ese caso el timestamp se lo pasas tu desde php.

Un saludo
  #115 (permalink)  
Antiguo 03/05/2010, 06:11
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Si quieres mostrarlo así yo creo que lo mejor es int, asi se almacenará el timestamp con números, y le das el formato que quieras con la función date, pero en ese caso el timestamp se lo pasas tu desde php.

Un saludo
Como que se le paso yo desde php? No te entiendo xd
  #116 (permalink)  
Antiguo 03/05/2010, 06:15
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

con la funcion time, acuerdare now = time() para recojer el timestamp actual.

Un saludo
  #117 (permalink)  
Antiguo 03/05/2010, 06:18
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
con la funcion time, acuerdare now = time() para recojer el timestamp actual.

Un saludo
Ahora me muestra 1272889073 ese codigo, que aunque lo traduzcas, no es ninguna fecha.
  #118 (permalink)  
Antiguo 03/05/2010, 06:22
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

usa la funcion date, eso es el timestamp, pasaselo a dae como segundo parametro.

Un saludo
  #119 (permalink)  
Antiguo 03/05/2010, 06:27
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Porfin, ahora ya sale todo correcto, y le he dado el formato que quería.

El siguiente embolao es meter imagenes a las noticias...

Seguimos aquí o abro un post nuevo?
  #120 (permalink)  
Antiguo 03/05/2010, 06:42
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Yo abriria post nuevo

Etiquetas: gestor, html
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 05:36.