Foros del Web » Programando para Internet » PHP »

Insertar un registro por linea desde un textbox

Estas en el tema de Insertar un registro por linea desde un textbox en el foro de PHP en Foros del Web. Hola señoñres. Estoy realizando un formulario para que los usuarios introduzcan registros a una mySQL, para lo cual he creado un formulario. Los usuarios deben ...
  #1 (permalink)  
Antiguo 19/10/2012, 02:20
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 10 meses
Puntos: 0
Insertar un registro por linea desde un textbox

Hola señoñres.

Estoy realizando un formulario para que los usuarios introduzcan registros a una mySQL, para lo cual he creado un formulario.

Los usuarios deben introducir sus datos y un listado de links, los links van en un textbox:

Nombre: <input type="text" name="Nombre">
Apellidos: <input type="text" name="Apellidos">
<textarea name="varioslinks" cols="30" rows="30">
link1.html
link2.html
link3.html
</textarea>

Mi idea es crear un registro en la bd para cada link.

Espero haberme explicado con claridad, gracias de antemano.
__________________
Información Turística sobre Merida --> MeridaEterna.com
  #2 (permalink)  
Antiguo 19/10/2012, 02:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Insertar un registro por linea desde un textbox

Debes tratar el texto del text area para dividirlo y luego hacer los inserts individualmente.

http://www.php.net/manual/es/ref.strings.php

en particular

http://www.php.net/manual/es/function.explode.php
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 19/10/2012, 03:04
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 10 meses
Puntos: 0
Respuesta: Insertar un registro por linea desde un textbox

Gracias por tu respuesta quimfv.

Eso que comentas lo consigo de la siguiente manera:

Código PHP:
$varioslinks $_POST['links'];
$separar explode("\n",$varioslinks);
echo 
$separar[0]; 
echo 
$separar[1]; 
Mi problema es cuando envian, por ejemplo, 50 links. ¿Debo hacer 50 inserts?¿No hay una manera mas simple de hacer esto?

Gracias de nuevo
__________________
Información Turística sobre Merida --> MeridaEterna.com
  #4 (permalink)  
Antiguo 19/10/2012, 04:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Insertar un registro por linea desde un textbox

Puedes hacer un insert multiple con la sintaxis adecuada

Código PHP:
Ver original
  1. $varioslinks = $_POST['links'];
  2. $separar = explode("\n",$varioslinks);
  3. $sql="INSERT INTO nombreTabla (nombreCampoLink) VALUES ";
  4.  
  5. for($i=0;$i<count($separar);$i++){
  6.    if($i!=0) {$sql.=",";}
  7.    $sql.="('".$separar[$i]."')";
  8. }
  9.  
  10. $sql.=";";
Construyes la sentencia y luego la lanzas como una sola consulta.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 19/10/2012 a las 04:30
  #5 (permalink)  
Antiguo 19/10/2012, 06:30
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 10 meses
Puntos: 0
Respuesta: Insertar un registro por linea desde un textbox

Gracias Quim, lo probaré y comento...
__________________
Información Turística sobre Merida --> MeridaEterna.com

Etiquetas: formulario, html, mysql, registro, textbox, usuarios
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:13.