Foros del Web » Programando para Internet » PHP »

dudas sobre area de texto (text area) y saltos de linea

Estas en el tema de dudas sobre area de texto (text area) y saltos de linea en el foro de PHP en Foros del Web. Soy muy novato perdonen la pregunta pero no doy con la solucion a este problema les explico tengo un formulario con un area de texto ...
  #1 (permalink)  
Antiguo 12/11/2007, 00:53
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 12 años, 4 meses
Puntos: 1
dudas sobre area de texto (text area) y saltos de linea

Soy muy novato perdonen la pregunta pero no doy con la solucion a este problema

les explico

tengo un formulario con un area de texto

en el area de texto lo tengo configurado en el dreamweaver a 16 caracteres de ancho por 7 lineas de alto

ingreso los datos en una tabla

para mostrar los datos de la tabla utilizo echo nl2br($getfile->descripcion)

no tengo problemas con eso me muestra los saltos de linea
pero siempre que al final de el area de texto precione enter despues de cada linea, pero en ocaciones se me pasa darle enter y el area de texto al escribir mas de 16 caracteres pasa a la siguiente linea automaticamente y eso no lo toma como un enter.

si en el area de texto de mi formulario ingreso corrido mas de 16 caracteres que supuestamente es el maximo que le tengo permitido al consultar me muestra en pantalla mas de los 16 caracteres que quiero mostrar

hay alguna forma para no tener que darle enter al final de cada linea de area de texto o sea que cuando escriba mas de 16 caracteres y automaticamente me salte a la siguiente linea me tomo eso como un enter.

pense cortar el texto que leo del la tabla utilizando wordrap este ejemplo funciona bien
$texto = "El veloz murcielago hindo comia feliz.";
$nuevo_texto = wordwrap($texto, 10, "<br />\n"
);
echo
$nuevo_texto;


pero cuando trado de llamar el texto de la tabla no me corta nada ejemplo:

$texto =$getfile->descripcion;
$nuevo_texto = wordwrap($texto, 10, "<br />\n");
echo $nuevo_texto;

el asunto es que deseo extrictamente mostrar no mas de 16 caracteres por linea y maximo 7 lineas y al ingresarlos en el area de texto deseo controlar que me registre 16 caracteres por linea y como aveces se me olvida darle entrer me registra demas y me muestra demas

alguna solucion

muchas gracias
  #2 (permalink)  
Antiguo 12/11/2007, 02:23
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.990
Antigüedad: 14 años, 10 meses
Puntos: 80
Re: dudas sobre area de texto (text area) y saltos de linea

Trata de solucionarlo pero antes de guardar el dato.

Como supongo estos datos se ingresan en un formulario, y antes de guardarlo tirale la funcion wordwrap para que te agregue solo el "\n" y despues guardas.

Una vez que lo llames muestras tal cual estas mostrando y deberia funcionar.

Si no, postea el codigo con el que lo guardas y con el que lo muestras, para ver si podemos darte otra sugerencia.

Suerte !
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 12/11/2007, 02:52
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 12 años, 4 meses
Puntos: 1
Re: dudas sobre area de texto (text area) y saltos de linea

trate de utilizar el wordwrap para cortar le texto que ingreso en la tabla como me dijiste pero nada aqui te posteo el codigo del archivo se llama addproductos que es con el cual ingreso los datos en la tabla

<?php
include ('conexion.php');

$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];

if (!((strpos($tipo_archivo, "png") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "bmp") || strpos($tipo_archivo, "gif")) && ( $tamano_archivo < 20000000)))
{
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .png, .bmp, .gif o .jpg<br><li>se permiten archivos de 2 MB máximo.</td></tr></table>";
?>
<script language="javascript">
setTimeout("url()",3000);
function url()
{
window.history.back();
}
</script>
<?
}
else
{
$nom_img= $nombre_archivo;

$directorio = '../imagenesupload/';
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$directorio . "/" . $nom_img))
{


$variable1=$_POST['paises'];
$variable2=$_POST['estados'];
$variable3=$_POST['codigo'];
$variable4=$_POST['nom_product'];
$variable5=$_POST['marca'];
$variable6=$_POST['descrip'];
$variable7=$_POST['serial'];
$variable8=$_POST['precio_cont_bs'];
$variable9=$_POST['precio_cont_bsf'];
$variable10=$_POST['precio_cred_bs'];
$variable11=$_POST['precio_cred_bsf'];
$variable12=$_POST['minidescrip'];
$variable13 = wordwrap($variable12, 16, "<br />\n");

mysql_select_db("$sql_tabla3", $conexion);
$query2="SELECT categoria FROM $sql_tabla3 WHERE id='$variable1'";
$result1=mysql_query($query2);
if (mysql_num_rows ($result1));
$a=0;
While ($row = mysql_fetch_array($result1))
{
echo ($row ['categoria']);
$linea=$row['categoria'];
};


mysql_select_db("$sql_tabla6", $conexion);
$query3="SELECT nb_categoria FROM $sql_tabla6 WHERE id='$variable2'";
$result2=mysql_query($query3);
if (mysql_num_rows ($result2));
$b=0;
While ($row = mysql_fetch_array($result2))
{
echo ($row ['nb_categoria']);
$linea2=$row['nb_categoria'];
};

mysql_select_db("$sql_tabla5");

$query="SELECT * FROM $sql_tabla5 WHERE codigo='$variable3'";
$consulta=mysql_db_query($sql_db,$query,$conexion) ;
$total_encontrados = mysql_num_rows($consulta);
if(mysql_num_rows($consulta))
{
echo "El codigo de producto no pueden duplicarse verifique";
}
else
{

$fecha=date("Y-m-d");
$hora=date("h:i:s");


mysql_query("INSERT INTO productos (linea, categoria, codigo, nombre, marca, descripcion, serial, foto, preciobs, preciobsf, preciocredbs, preciocredbsf, status, fecha, hora, mini_descrip) VALUES ('$linea', '$linea2', '{$_POST['codigo']}', '{$_POST['nom_product']}', '{$_POST['marca']}', '{$_POST['descrip']}', '{$_POST['serial']}', '$nom_img', '{$_POST['precio_cont_bs']}', '{$_POST['precio_cont_bsf']}', '{$_POST['precio_cred_bs']}', '{$_POST['precio_cred_bsf']}', '{$_POST['status']}', '$fecha', '$hora', '$variable13')",$conexion) or die("Problemas en el select".mysql_error());
}

if($result=mysql_db_query($sql_db,$query,$conexion ))
{
echo "<script>window.location='../registro_productos.php';</script>";

} else
{
echo "Error introduciendo los datos";
} //Cierre del else


}
else
{
echo "error al subir la foto";
}
}
mysql_close($conexion);
?>
  #4 (permalink)  
Antiguo 12/11/2007, 03:08
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.990
Antigüedad: 14 años, 10 meses
Puntos: 80
Re: dudas sobre area de texto (text area) y saltos de linea

Esta linea:
Código PHP:
$variable13 wordwrap($variable1216"<br />\n"); 
Dejala asi:
Código PHP:
$variable13 wordwrap($variable1216"\n"); 
Ya que nl2br() lo que hace es convertir de \n a <br />

Testea y nos comentas.

Suerte
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 12/11/2007, 03:10
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 12 años, 4 meses
Puntos: 1
Re: dudas sobre area de texto (text area) y saltos de linea

este es parte del codigo del archivo con el cual quiero mostrar los datos de la tabla, no pongo todo el archivo por que es el index y tenine muchas cosas asi que solo tome parte de el


<style type="text/css">
<!--
.Estilo9 {color: #FFFFFF}
.ver10 {font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
text-decoration: none;
color: #000000;
}
-->
</style>
<table cellspacing="0" cellpadding="0" width="552" align="center" border="0">
<tbody>
<tr>
<td colspan="3" height="10">&nbsp;</td>
</tr>
<tr>
<td colspan="3" height="10"><? //conecto con la base de datos
include ('php/conexion.php');

mysql_select_db('$sql_db',$conexion);

$num_displayed = 4 ;

$sql_db = "SELECT * FROM productos ORDER BY RAND() LIMIT $num_displayed";

$resultid = mysql_query($sql_db,$conexion);
?>
<?

$num_filas = 0;
while ($damefila=mysql_fetch_object($resultid))
while ($damefila2=mysql_fetch_object($resultid))
while ($damefila3=mysql_fetch_object($resultid))
while ($damefila4=mysql_fetch_object($resultid))
{
?></td>
</tr>
<tr>
<td valign="top" width="233">&nbsp;</td>
<td width="2"></td>
<td valign="top" width="233">&nbsp;</td>
</tr>
<tr>
<td colspan="3" height="10"></td>
</tr>
<tr>
<td valign="top" width="233">&nbsp;</td>
<td width="2"></td>
<td valign="top" width="233"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td>&nbsp;</td>
<td width="231" height="30" bgcolor="#76C409" class="blanco">&nbsp;<span class="Estilo9"><font face="Arial" size="2"><?echo strip_tags($damefila->nombre)?></font></span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="231" colspan="3" valign="top"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td colspan="3" height="6"></td>
</tr>
<tr>
<td valign="top" align="middle" width="100"><img src="rd.php?imagen=<?echo strip_tags($damefila->foto)?>" border="0" align="left" /></td>
<td valign="top" width="23">&nbsp;</td>
<td width="110" valign="top"><span class="ver10"><font face="Arial" size="2"><?echo nl2br($damefila->mini_descrip)?></font></span></td>
</tr>
<tr>
<td colspan="3" height="5"></td>
</tr>
<tr>
<td bgcolor="#58a807" colspan="3" height="1"></td>
</tr>
<tr>
<td colspan="3" height="5"></td>
</tr>
<tr>

</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
<?
$num_filas++;
} //termina el bucle while
?></td>
</tr>
</tbody>
</table>


gracias por la ayuda que puedan aportar
  #6 (permalink)  
Antiguo 12/11/2007, 03:21
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 12 años, 4 meses
Puntos: 1
Re: dudas sobre area de texto (text area) y saltos de linea

probe con $variable13 = wordwrap($variable12, 16, "\n");
pero nada no me corta los datos a ingresar en la tabla

Bueno seguire tratando cualquier sugerencia muy agradecido

  #7 (permalink)  
Antiguo 12/11/2007, 03:34
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.990
Antigüedad: 14 años, 10 meses
Puntos: 80
Re: dudas sobre area de texto (text area) y saltos de linea

Ahora... en tu base de datos, como esta guardando el dato ?...

Pon alguno aca para ver si esta guardandolo con \n y podemos ir descartando.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #8 (permalink)  
Antiguo 12/11/2007, 04:13
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 12 años, 4 meses
Puntos: 1
Re: dudas sobre area de texto (text area) y saltos de linea

eso te iva a comentar que tipo de campo requiero para mini_drescrip probe con varios y nada, el tipo de campo era varchar y tambien probe con tinytext
aqui tienes la estructura de la tabla

/*
SQLyog Enterprise - MySQL GUI v6.0
Host - 4.1.22-standard : Database - mibasedatos
************************************************** *******************
Server version : 4.1.22-standard
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
create database if not exists `mibasedatos`;
USE `mibasedatos`;
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*Table structure for table `productos` */
DROP TABLE IF EXISTS `productos`;
CREATE TABLE `productos` (
`id` int(10) NOT NULL auto_increment,
`linea` varchar(50) default NULL,
`categoria` varchar(30) default NULL,
`codigo` varchar(15) NOT NULL default '',
`nombre` varchar(50) default NULL,
`marca` varchar(20) default NULL,
`descripcion` tinytext,
`serial` varchar(20) default NULL,
`foto` varchar(30) default NULL,
`preciobs` decimal(12,0) default NULL,
`preciobsf` decimal(8,0) default NULL,
`preciocredbs` decimal(12,0) default NULL,
`preciocredbsf` decimal(8,0) default NULL,
`status` char(1) default NULL,
`fecha` date default NULL,
`hora` time default NULL,
`mini_descrip` tinytext,
PRIMARY KEY (`id`,`codigo`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
/*Data for the table `productos` */
insert into
`productos`(`id`,`linea`,`categoria`,`codigo`,`nom bre`,`marca`,`descripcion`,`serial`,`foto`,`precio bs`,`prec
iobsf`,`preciocredbs`,`preciocredbsf`,`status`,`fe cha`,`hora`,`mini_descrip`) values
(6,'armas','pistolas','867868','00000000000','8979 89','7977897','8979','2.jpg',87978,97,97987,9789,' 7','2007-
11-12','05:17:50','012345678901234567890');
/*!40101 SET [email protected]_SQL_MODE */;
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;


gracias de nuevo por tu tiempo
  #9 (permalink)  
Antiguo 12/11/2007, 11:38
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.990
Antigüedad: 14 años, 10 meses
Puntos: 80
Re: dudas sobre area de texto (text area) y saltos de linea

Cambialo por un TEXT y prueba

Me parece que el tiny guarda hasta cierta cantidad... pero no se si te servira en ese sentido.

El nl2br() deberia funcionar sin problema utilizando campo tipo text

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 22:30.