Guardar texto largo en base de datos mysql

Hola
Mi problema es el siguiente: estoy haciendo una aplicación en php y mysql, y en una de las tablas necesito guardar observaciones que pueda introducir el usuario, alrededor de unas 30 palabras.
¿Qué control debo utilizar en el <form> para que introduzca los datos?
Para referirse a el, ¿es igual que los demás campos ($_POST['x'])?
¿Qué tipo de dato debe ser el campo?
Espero y puedas ayudarme
Gracias

1 Respuesta

Respuesta
1
Es muy sencillo.
En el formulario yo te recomiendo un área de texto <textarea></textarea> (Son obligatorias las dos etiquetas).
Por supuesto que para recogerlo desde $_POST es igual que con cualquier otra variable, es decir, $_POST['mi_textarea']
En cuanto al tipo de dato en la base de datos tienes dos opciones:
- Utilizar un tipo "varchar" y le pones una longitud grande (300 caracteres, por ejemplo)
o
- Utilizar el tipo de dato "longtext", este tipo de dato solo se puede usar una única vez en cada tabla (no puedes tener dos campos con este tipo de dato), y puede almacenar por cada registro hasta 2Gb de texto (Por supuesto esto es muchísimo).
Espero que te sirva de ayuda, si todavía te queda alguna duda dímelo y estaré encantado de ayudarte.
Gracias por responder, ya me contestaste varias de las dudas que tenia, ya me sale el control <textarea>, pero hay un problema: no me guarda la información
Este parte del código del del boton y el <textarea> <form>
<form action=<?php echo $_SERVER['PHP_SELF'];?> method="post">
<tr>
<td>Observaciones:</td>
<td><textarea cols="40" rows="4" name="Observaciones"<</textarea></td>
</tr>
<input type=submit value=Introducir datos name="submit"></td>
</tr>
</form>
y el codigo de la consulta:
$consulta="INSERT INTO info_clientes (Nombre,Edad,Domicilio,Telefono,E_mail,Tratamiento,Costo,Próx_cita,Observaciones) values('$_POST[Nombre]','$_POST[Edad]','$_POST[Domicilio]','$_POST[Telefono]','$_POST[E_mail]','$_POST[Tratamiento]','$_POST[Costo]','$fecha','$_POST[Observaciones]')";
El campo observaciones es un varchar(300) y es el campo que da problemas, porque si lo quito de la consulta sí guarda el resto de los datos
Ojala que puedas ayudarme una vez más y me digas que me falta o en que me equivoque
Gracias por la ayuda!
Vale, perdoname porque tengo parte de culpa en este error. Puede que sea que me he confundido antes, el campo varchar solo admite 255 caracteres máximo (perdoooon :D), por otro lado el campo Longtext no admite 2Gb sino 4Gb de información por registro.
Solo se me ocurre eso, porque lo demás está todo bien, o al menos yo lo haría así :-)
Prueba a cambiar el valor del varchar a, como máximo, 255. O sino prueba a ponerlo como Longtext.
Si te sigue dando problemas vuelve por aquí y lo investigamos más a fondo ;)
Muchas gracias, tu ayuda fue de mucha utilidad: ya pude guardar la información!
Y espero que puedas contestar a posibles dudas que surjan después.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas