retorno de carro y php

EnTe

Hola! bueno, mirad, tengo un problema, estoy programando mi propio foro y tengo algun que otro problema, el primero y mas importante, es que pongo un textarea (lo mismo que sale cuando creas un post o lo respondes). Bueno, la movida es que cuando alguien mete un enter en dicho textarea, no funciona, tu le dices que salte a la linea de abajo y el cacharro lo mete todo en la misma linea. Yo creo que es por el problema que tienen DOS y UNIX con lo del retorno de carro... pero no se. Alguien me puede ayudar???

gracias de antemano.

F

¿Cómo sabes que no hay retorno de carro? ¿Lo miras en la base de datos? ¿Haces un echo?

Si haces echo, sólo recordarte que los navegadores web no interpretan retornos de carro como tales, hay que poner un <br> para ello.

erdanblo

< br />

^^ Mv que se come los tags. Mira la Db, seguro que tienes los saltos de linea y todo.

Si usas PHP: www.php.net/nl2br

EnTe

gracias, creo que esa funcion me va a salvar la vida ^. la movida es que:

en la db tengo puesto ese campo como bigtext pero al mandarlo mediante un mysql_query("INSERT...") pues el mamon de el me lo manda todo en una linea, ahora lo que supongo que tengo que hacer es ejecutar la funcion que me ha dao erdamblo (o como se escriba xDD) antes de enviarla a la base de datos.

muchas gracias, ya os contaré que tal me ha ido :).

salu2.

erdanblo

Ponle longtext al campo.

EnTe

ya ta!! te la gozas jejeje, me funciona de luuujo.

x cierto... ahora me ha venido otra dudilla que la verdad, me esta dando verdaderos quebraderos de cabeza.

bueno, hay un campo que se llama fecha y esta definido como "date time" en una tabla vale?, el formato de la fecha que el pone por defecto es:

YYYY-MM-DD HH:MM:SS

entonces yo uso la funcion date para que me genere una fecha ok? tendria que ponerla para que me la funcion genere una fecha en el mismo formato que el campo "date time" no????

Si lo pongo como "date time", luego al hacer un SELECT * FROM tabla ORDER BY fecha DESC me lo haria bien???? porque el campo fecha lo pongo como varchar(20) no lo hace bien...

Salu2 y gracias de nuevo!!!

erdanblo

Ponlo como int el campo y coje la fecha con time().

Así es como lo hago yo, y asi no tienes ningún problema, porque son solo números.

Cuando quieras imprimir la fecha:

date("d-m-y", $row['fecha']);

SeiYa

Yo lo que hacía era poner en la BD el campo como tipo TEXT y luego al recogerlo de la base de datos y mostrarlo hacer un nl2br($row['texto']); y me cambiaba los retornos de carro por < br / >.

EnTe

puede ser una opcion interesante si jejeje, es que es mucha movida eso de date time, lo que pasa es que no se si me lo ordenará bien... probaré y a ver que pasa jejeje.

muxas asias.

Usuarios habituales

  • EnTe
  • SeiYa
  • erdanblo
  • FakkonniE