Foros del Web » Programando para Internet » PHP »

Agregar registros con un textarea.

Estas en el tema de Agregar registros con un textarea. en el foro de PHP en Foros del Web. La idea es basicamente que cada reglon de un textarea sea guardado como un registro individual dentro de una tabla. Por ejemplo, tenemos un textarea ...
  #1 (permalink)  
Antiguo 25/04/2009, 13:24
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Agregar registros con un textarea.

La idea es basicamente que cada reglon de un textarea sea guardado como un registro individual dentro de una tabla.

Por ejemplo, tenemos un textarea llamado nombres:

Escribimos:

Marcos
Laura
Mariano

Por lo tanto se guardan 3 registros.

Agradeceria si pueden decirme como hago para que detecte que por cada salto de linea debe guardar un registro y que no debe estar vacio el renglon para hacerlo.

Ya que se puede dar este caso:

Marcos

Laura
Mariano

Muchisimas gracias.
  #2 (permalink)  
Antiguo 25/04/2009, 14:01
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 2 meses
Puntos: 36
Respuesta: Agregar registros con un textarea.

Código PHP:

$consulta 
"INSERT INTO tabla (campo1) VALUES ";

$lineas explode("\n"$_POST['comentario']);

foreach(
$lineas as $linea){

if(!empty(
$linea))
$consulta .= "($linea),";

}

$consulta substr($consulta0, -1);

mysql_query($consulta); 
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/

Última edición por hgp147; 25/04/2009 a las 14:07
  #3 (permalink)  
Antiguo 25/04/2009, 19:54
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Agregar registros con un textarea.

Debería usarse split() o preg_split() en vez de explode(), ya que las primeras aceptan expresiones regulares como puntos de corte, y los saltos de línea no siempre son \n dependiendo del tipo de SO (pueden ser \r o \r\n):

Código PHP:
$lineas preg_split("#[\s]+#"$_POST['comentario']); 
  #4 (permalink)  
Antiguo 30/05/2009, 18:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Agregar registros con un textarea.

Estoy usando preg_split, el unico problema que me presenta la expresion es que si inserto texto espaciado no me lo toma:

Habia una vez

Toma solo habia, como puedo resolverlo ?

Gracias.
  #5 (permalink)  
Antiguo 31/05/2009, 23:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Agregar registros con un textarea.

nadie ?????
  #6 (permalink)  
Antiguo 31/05/2009, 23:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Agregar registros con un textarea.

Como escribiste el preg_split?
  #7 (permalink)  
Antiguo 01/06/2009, 14:32
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Agregar registros con un textarea.

Código:
$lineas = preg_split("#[\s]+#", $_POST['comentario']);
  #8 (permalink)  
Antiguo 01/06/2009, 16:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Agregar registros con un textarea.

$consulta = "INSERT INTO tabla (campo1) VALUES ";

$lineas = preg_split("#[\s]+#", $_POST['comentario']);

foreach($lineas as $linea){
$linea = trim($linea);
if(!empty($linea))
$consulta .= "($linea),";
}

$consulta = substr($consulta, 0, -1);

mysql_query($consulta);
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 02:18.