Foros del Web » Programando para Internet » PHP »

Insertar datos de un array

Estas en el tema de Insertar datos de un array en el foro de PHP en Foros del Web. Hola tengo el siguiente formulario Código HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type" content= "text/html; charset=utf-8" ...
  #1 (permalink)  
Antiguo 04/06/2012, 19:01
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Insertar datos de un array

Hola tengo el siguiente formulario

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function agregar() {
	campo = '<li><label>Email:</label><input type="text" size="20" name="email[]" /></li>';
	$("#emails").append(campo);
}
</script>
</head>

<body>
<fieldset id="form">
	<legend>Info</legend>
	<form name="frm_multiple" method="post" action="procesar.php">
	<ol>
    	<li>
        <label>Nombre:</label><input type="text" size="20" name="nombre" />
        </li>
        <li>
        <label>Asunto:</label><input type="text" size="20" name="asunto" />
        </li>
        <li>
        <label>Mensaje:</label><input type="text" size="20" name="mensaje" />
        </li>
        <li>
        <label>Direcci&oacute;n:</label><input type="text" size="30" name="direccion" />
        </li>
    </ol>
    <ol id="emails">
    	<li>
        <label>Email:</label><input type="text" size="20" name="email[]" /> 
        <span><a href="#" onclick="agregar();">Agregar</a></span>
        </li>
    </ol>
    <p align="center"><input type="submit" name="Send" value="Send" /></p>
    </form>
</fieldset>
<p align="center">
	
</p>
</body>
</html> 

El cual tengo la opción para agregar varios emails (inputs dinamicos)

Estoy tratando de procesar la informacion para insertarla a mi base de datos
la cual tiene los sig. campos
id
nombre
email
asunto
mensaje

Para procesar mis datos tengo el sig. php


Código PHP:
<?php


$hostname_connection 
"localhost";
$database_connection "ces";
$username_connection "root";
$password_connection "";
$con mysql_pconnect($hostname_connection$username_connection$password_connection) or trigger_error(mysql_error(),E_USER_ERROR); 

if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("my_db"$con);


$emails=$_POST['email'];
$nombre=$_POST['nombre'];
for (
$i=0$i<=count($emails); $i++) {    
 
    echo 
$emails[$i].'<br>';
    
//// aqui grabamos en la base de datos o lo que deseemos
    
     
$sql="INSERT INTO prueba (nombre, email, asunto, mensaje) VALUES ('$_POST[nombre]','$_POST[emails][$i]','$_POST[asunto]','$_POST[mensaje]')";
}
if (!
mysql_query($sql,$con))
  {
  die(
'Error: ' mysql_error());
  }
echo 
"Datos insertados";

mysql_close($con);
?>
Eh conseguido insertar pero la pregunta del millon es... como debo pasar mis inputs email...

haciendolo así si agrego dos inputs para email ... me lo registra asi
nombre email asunto mensaje
Angel Villa [2] pago deposito enero


consigo insertar mis emails---- por cierto no se si deben ir en un solo campo... o debo generar un campo por cada input que se agregue

Gracias por su ayuda
  #2 (permalink)  
Antiguo 04/06/2012, 19:05
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

quiero entender que pretendes guardar todos los email en un solo campo, es así?, podrías hacer lo siguiente...

Código PHP:
Ver original
  1. $sql="INSERT INTO prueba (nombre, email, asunto, mensaje) VALUES ('".$_POST['nombre']."','";
  2.  
  3. $sql.= is_array($_POST['email']) ? implode(',',$_POST['email']) : $_POST['email'];
  4.  
  5. $sql.="','".$_POST['asunto']."','".$_POST['mensaje']."')";
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 04/06/2012, 20:42
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 11 años, 10 meses
Puntos: 32
Respuesta: Insertar datos de un array

Desde ya debo decir que la solución que plantea Nemutagk resuelve tu problema.
Pero me parece mas correcto y practico agregar una nueva tabla llamada mail o como quieras.
Y a la cual le crees 3 campos mail_id, mail_id_prueba, mail_mail.
Por costumbre le pongo a las tablas un prefijo de 4 caracteres una maña que aprendi con la vida
para ser mas sencilla mi programacion y evitar dolores de cabeza al escribir consultas SQL,
pero bueno volviendo al tema de deberia quedar una tabla asi

Código SQL:
Ver original
  1. CREATE TABLE  .`mail` (
  2. `mail_id` INT NOT NULL AUTO_INCREMENT ,
  3. `mail_id_prueba` INT NOT NULL ,
  4. `mail_mail` VARCHAR( 250 ) NOT NULL ,
  5. PRIMARY KEY (  `mail_id` )
  6. ) ENGINE = MYISAM ;

Código php:
Ver original
  1. /* Insertamos los primeros datos, dejando de lado el mail, hasta lo podemos borrar de esta tabla (debemos) */
  2. $sql     = "INSERT INTO prueba (nombre, asunto, mensaje) VALUES ('".$_POST['nombre']."','".$_POST['asunto']."','".$_POST['mensaje']."')";
  3. $result  = mysql_query($sql,$con)
  4. /* Con el id de prueba obtenemos la relacion con la tabla de emails */
  5. $last_id = mysql_insert_id( $con );
  6. if($last_id > 0)
  7. {
  8.     for ($i=0; $i<=count($emails); $i++) {    
  9.         $sql = "INSERT INTO mail (mail_id_prueba,mail_mail) VALUE('".$last_id."','".$emails[$i]."') ";
  10.         if (!mysql_query($sql,$con))
  11.           {
  12.           die('Error: ' . mysql_error());
  13.           }
  14.     }
  15. }


Espero ayude. Saludos.
  #4 (permalink)  
Antiguo 05/06/2012, 10:12
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Gracias a los dos por sus respuestas creo que me será más sencillo manejar los emails en otra tabla... solo tengo una duda he agregado el código para crearla asi

Código PHP:
 foreach ($emails as $key => $value){    
    echo 
$emails[$i].'<br>';
    
//// aqui grabamos en la base de datos o lo que deseemos
    
CREATE TABLE  .`mail` (
`
mail_idINT NOT NULL AUTO_INCREMENT ,
`
mail_id_pruebaINT NOT NULL ,
`
mail_mailVARCHAR250 NOT NULL ,
PRIMARY KEY (  `mail_id` )
ENGINE MYISAM 
pero me marca un error en la linea de CREATE TABLE...

Ahora bien si agrego 3 mails.... y si en el formulario agrego 4 o 5 que sucede ¿¿¿¿
  #5 (permalink)  
Antiguo 05/06/2012, 10:21
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Insertar datos de un array

PHP no crea las tablas, quien lo hace es MySQL, debes mandar tu consulta en una query
__________________
www.elias.com.sv
  #6 (permalink)  
Antiguo 05/06/2012, 10:23
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Cita:
Iniciado por scorpion3d Ver Mensaje
PHP no crea las tablas, quien lo hace es MySQL, debes mandar tu consulta en una query
GRACIAS
  #7 (permalink)  
Antiguo 05/06/2012, 10:32
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

eh puesto asi la consulta
Código PHP:
$sql2="CREATE TABLE  .`mail` (
`mail_id` INT NOT NULL AUTO_INCREMENT ,
`mail_id_prueba` INT NOT NULL ,
`mail_mail` VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY (  `mail_id` )
) ENGINE = MYISAM ;"

$result2  mysql_query($sql2,$con
Pero me arroja un error... donde deben cerrar mis comillas en la consulta????


gracias otra vez... sobre mi duda que pasa si solo defino tres emails... y en el formulario ponen 4 o más...
Hay alguna manera de crear los campos en base al numero de input que se creen en el form


  #8 (permalink)  
Antiguo 05/06/2012, 10:34
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Insertar datos de un array

Código PHP:
Ver original
  1. <?php
  2. $hostname_connection = "localhost";
  3. $database_connection = "ces";
  4. $username_connection = "root";
  5. $password_connection = "";
  6. $con = mysql_pconnect($hostname_connection, $username_connection, $password_connection) or trigger_error(mysql_error(),E_USER_ERROR);
  7.  
  8. mysql_select_db($database_connection, $con);
  9. mysql_query("CREATE TABLE  .`mail` (
  10. `mail_id` INT NOT NULL AUTO_INCREMENT ,
  11. `mail_id_prueba` INT NOT NULL ,
  12. `mail_mail` VARCHAR( 250 ) NOT NULL ,
  13. PRIMARY KEY (  `mail_id` )
  14. ) ENGINE = MYISAM ",$con)or die(mysql_error());  ?>
__________________
www.elias.com.sv
  #9 (permalink)  
Antiguo 05/06/2012, 10:52
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Insertar datos de un array

Las comillas deben cerrar antes del punto y como (;) así:

"codigo......";

Cita:
Iniciado por Briss Ver Mensaje
eh puesto asi la consulta
Código PHP:
$sql2="CREATE TABLE  .`mail` (
`mail_id` INT NOT NULL AUTO_INCREMENT ,
`mail_id_prueba` INT NOT NULL ,
`mail_mail` VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY (  `mail_id` )
) ENGINE = MYISAM ;"

$result2  mysql_query($sql2,$con
Pero me arroja un error... donde deben cerrar mis comillas en la consulta????


gracias otra vez... sobre mi duda que pasa si solo defino tres emails... y en el formulario ponen 4 o más...
Hay alguna manera de crear los campos en base al numero de input que se creen en el form


__________________
www.elias.com.sv
  #10 (permalink)  
Antiguo 05/06/2012, 10:58
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

todo mi codigo esta asi


Código PHP:
<?php

# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_connection "localhost";
$database_connection "ces";
$username_connection "root";
$password_connection "";
$con mysql_pconnect($hostname_connection$username_connection$password_connection) or trigger_error(mysql_error(),E_USER_ERROR); 

if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("my_db"$con);
mysql_query("CREATE TABLE  .`mail` ( 
`mail_id` INT NOT NULL AUTO_INCREMENT , 
`mail_id_prueba` INT NOT NULL , 
`mail_mail` VARCHAR( 250 ) NOT NULL , 
PRIMARY KEY (  `mail_id` ) 
) ENGINE = MYISAM "
,$con)or die(mysql_error());  

$emails=$_POST['email'];
$nombre=$_POST['nombre'];
/*for ($i=0; $i<=count($emails); $i++) {    */
 
foreach ($emails as $key => $value){    
    echo 
$emails[$i].'<br>';
    
//// aqui grabamos en la base de datos o lo que deseemos

 
    
$sql     "INSERT INTO prueba (nombre, asunto, mensaje) VALUES ('".$_POST['nombre']."','".$_POST['asunto']."','".$_POST['mensaje']."')";

$result  mysql_query($sql,$con)

/* Con el id de prueba obtenemos la relacion con la tabla de emails */
$last_id mysql_insert_id$con );
if(
$last_id 0)
{
    for (
$i=0$i<=count($emails); $i++) {     
        
$sql "INSERT INTO mail (mail_id_prueba,mail_mail) VALUE('".$last_id."','".$emails[$i]."') ";
        if (!
mysql_query($sql,$con)) 
          { 
          die(
'Error: ' mysql_error()); 
          } 
    }
}
?>
y me manda un error en $last_id = mysql_insert_id( $con );


Gracias otra vez... alguien me puede decir que pasa si agrego mas campos de los 3 email??? porque entonces no tendría mucho caso tener otra tabla mas bien podria crearle 3 o 5 email a mi tabla prueba...


se puede hacer que de acuerdo al numero de inputs se creen el numero de campos email?????
  #11 (permalink)  
Antiguo 05/06/2012, 12:42
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

He optado por la solucion que me tan amablemente me facilito Nemutagk

Ahora bien si en mi campo email tengo estos datos [email protected], [email protected]


Es posible separarlos por ejemplo

si voy a mostrar Ana Diaz

email 1 [email protected]

email2 [email protected]


es posible?????
  #12 (permalink)  
Antiguo 05/06/2012, 12:49
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

la solución que te dieron de una tabla unicamente para los emails es correcta, pero lo estas implementando de manera erronea, no puedes estar creando una tabla cada vez que insertes un email, es ilógico eh inútil, la manera correcta es crear una sola tabla y luego ir insertando los email en dicha tabla con un identificador que lo asocie al email que vas a enviar...

Cita:
Es posible separarlos por ejemplo

si voy a mostrar Ana Diaz

email 1 [email protected]

email2 [email protected]
solo separalos por las comas...

Código PHP:
Ver original
  1.  
  2. $emailsArray = explode(',',$emails);
  3.  
  4. echo '<pre>';
  5. var_dump($emailsArray);
  6. echo '</pre>';
  7.  
  8. echo 'email1: '.$emailsArray[0];
  9. echo 'email2: '.$emailsArray[1];
  10. echo 'email3: '.$emailsArray[2];
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #13 (permalink)  
Antiguo 05/06/2012, 12:56
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Cita:
Iniciado por Nemutagk Ver Mensaje
la solución que te dieron de una tabla unicamente para los emails es correcta, pero lo estas implementando de manera erronea, no puedes estar creando una tabla cada vez que insertes un email, es ilógico eh inútil, la manera correcta es crear una sola tabla y luego ir insertando los email en dicha tabla con un identificador que lo asocie al email que vas a enviar...



solo separalos por las comas...

Código PHP:
Ver original
  1.  
  2. $emailsArray = explode(',',$emails);
  3.  
  4. echo '<pre>';
  5. var_dump($emailsArray);
  6. echo '</pre>';
  7.  
  8. echo 'email1: '.$emailsArray[0];
  9. echo 'email2: '.$emailsArray[1];
  10. echo 'email3: '.$emailsArray[2];
Gracias por tu respuesta y si ya me enrede un poco

Bien con lo que me planteas puedo hacer una consulta select y de ahi obtener el total de emails... y de nuevo puedo generar un input email para cada dato extraiso de mi BD????
  #14 (permalink)  
Antiguo 05/06/2012, 17:23
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

He logrado hacer casi todo ya atravez de una consulta muestro los datos...
Bien en mi input email muestro todos los email separados por una coma

Código PHP:
<label>Email:</label><input type="text" size="20" name="email[]" value="<?php echo htmlentities($row_licenciaturas['email']); ?>"  />
ejemplo
[email protected],[email protected]

ahora bien estoy probando explode para dividirlos pero no logro que funcione


Código PHP:
<?php 
$emails 
$_POST[email];
 
$emailsArray explode(',',$emails);
 
echo 
'<pre>';e
var_dump
($emailsArray);
echo 
'</pre>';
 
echo 
'email1: '.$emailsArray[0];
echo 
'email2: '.$emailsArray[1];
echo 
'email3: '.$emailsArray[2];
?>

Pregunta... es posible dividirlos (creo q si)... y por cada email q arroje cree un input?????? GRACIAS OTRA VEZ
  #15 (permalink)  
Antiguo 05/06/2012, 17:26
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

tu código esta mal, SIEMPRE debes encerrar entre comillas (ya sean dobles o sencillas) el 'index' del array $_POST, $_GET, $_SESSION y $_COOKIE...

Código PHP:
Ver original
  1. $emails = $_POST['email'];
  2.  
  3. $emailsArray = explode(',',$emails);
  4.  
  5. echo '<pre>';
  6. var_dump($emailsArray);
  7. echo '</pre>';
  8.  
  9. echo 'email1: '.$emailsArray[0];
  10. echo 'email2: '.$emailsArray[1];
  11. echo 'email3: '.$emailsArray[2];

...ahora, dices que no funciona, pero no dices el porque, te arroja error? o que es lo que hace tu código...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #16 (permalink)  
Antiguo 05/06/2012, 17:30
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Cita:
Iniciado por Nemutagk Ver Mensaje
tu código esta mal, SIEMPRE debes encerrar entre comillas (ya sean dobles o sencillas) el 'index' del array $_POST, $_GET, $_SESSION y $_COOKIE...

Código PHP:
Ver original
  1. $emails = $_POST['email'];
  2.  
  3. $emailsArray = explode(',',$emails);
  4.  
  5. echo '<pre>';
  6. var_dump($emailsArray);
  7. echo '</pre>';
  8.  
  9. echo 'email1: '.$emailsArray[0];
  10. echo 'email2: '.$emailsArray[1];
  11. echo 'email3: '.$emailsArray[2];

...ahora, dices que no funciona, pero no dices el porque, te arroja error? o que es lo que hace tu código...
he puesto las comillas simples

me arroja esto

array(1) {
[0]=>
string(0) ""
}
email1: email2: email3:
  #17 (permalink)  
Antiguo 05/06/2012, 17:38
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

y pasando esto
Código PHP:
 <?php echo $_POST['email']; ?>
no pasa ningun valor de los que tiene el input email
  #18 (permalink)  
Antiguo 05/06/2012, 17:42
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

Debes entender la diferencia entre agregar corchetes [] al name del input, el hecho de que agregues o no los corchetes diferencia mucho el como obtener después los datos, cuando agregas los corchetes los valores serán enviados como un array...

Código PHP:
Ver original
  1. <input type="text" name="prueba[]" value="input de prueba" />
  2. <input type="text" name="otro" value="input de prueba" />
  3.  
  4. //El primero será enviado como un array, por lo tanto debe ser tratado como tal...
  5. //para imprimir su valor será necesario algo así...
  6. echo $_POST['prueba'][0];
  7.  
  8. //el segundo será envido como texto, por lo tanto puedes imprimirlo como siempre lo haces...
  9. echo $_POST['otro'];
  10.  
  11. //para que se vea mejor la diferencia has un var_dump...
  12. echo '<pre>';
  13. var_dump($_POST['prueba']);
  14. echo '</pre>';
  15.  
  16. echo '<pre>';
  17. var_dump($_POST['otro']);
  18. echo '</pre>';

En tu caso estas enviando el input como un array, por lo tanto debería ser algo así...
Código PHP:
Ver original
  1. $emails = $_POST['email'][0];
  2.  
  3. $emailsArray = explode(',',$emails);
  4.  
  5. echo '<pre>';
  6. var_dump($emailsArray);
  7. echo '</pre>';
  8.  
  9. echo 'email1: '.$emailsArray[0];
  10. echo 'email2: '.$emailsArray[1];
  11. echo 'email3: '.$emailsArray[2];

PERO, no tiene ninguna ventaja hacerlo de esta manera, lo mejor será que quites los corchetes al name del input para que sea tratado como string y no como array...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #19 (permalink)  
Antiguo 05/06/2012, 17:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Gracias por tu ayuda en verdad

Le he quitado los corchetes

<label>Email:</label><input type="text" size="20" name="email" value="<?php echo htmlentities($row_licenciaturas['email']); ?>" />


Código PHP:
<?php 
$emails 
$_POST['email']; 
  
$emailsArray explode(',',$emails); 
  
echo 
'<pre>';
var_dump($emailsArray); 
echo 
'</pre>'
  
echo 
'email1: '.$emailsArray[0]; 
echo 
'email2: '.$emailsArray[1]; 
echo 
'email3: '.$emailsArray[2];
?>
Y no logro visualizar nada he hecho pruebas con

<?php echo "emails: ".$emails = $_POST['email']; ?>

y no se ve nada probe mostrar el nombre y nada

creo q tengo un problema con mi form he intentado usar get y nada
  #20 (permalink)  
Antiguo 05/06/2012, 17:53
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

mejor muestra todo el código tanto del form como del archivo PHP que procesará el form, así es estar adivinando...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #21 (permalink)  
Antiguo 05/06/2012, 18:01
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Cita:
Iniciado por Nemutagk Ver Mensaje
mejor muestra todo el código tanto del form como del archivo PHP que procesará el form, así es estar adivinando...
Gracias creo q ese fue mi error lo siento se me paso por completo queria procesar en el mismo formulario post nunca me va a salir asi ...

me salio asi
<?php
$emails = $row_licenciaturas['email'];;

$emailsArray = explode(',',$emails);

echo '<pre>';
var_dump($emailsArray);
echo '</pre>';

echo 'email1: '.$emailsArray[0];
echo 'email2: '.$emailsArray[1];
echo 'email3: '.$emailsArray[2];
?>


Ahora bien que puedo hacer para q por cada email resultante me muestre un input????

Última edición por Briss; 05/06/2012 a las 18:29
  #22 (permalink)  
Antiguo 05/06/2012, 18:35
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Obtengo lo siguiente

array(2) {
[0]=>
string(15) "[email protected]"
[1]=>
string(18) "[email protected]"
}



como puedo hacer para que solo me lo muestre asi
[email protected]
[email protected]
  #23 (permalink)  
Antiguo 05/06/2012, 18:37
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

Código PHP:
Ver original
  1. $emails = $row_licenciaturas['email'];;
  2.  
  3. $emailsArray = explode(',',$emails);
  4.  
  5. foreach($emailsArray as $email) {
  6.      echo '<input type="text" name="email[]" value="'.$email.'" />';
  7. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #24 (permalink)  
Antiguo 05/06/2012, 18:40
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Cita:
Iniciado por Nemutagk Ver Mensaje
Código PHP:
Ver original
  1. $emails = $row_licenciaturas['email'];;
  2.  
  3. $emailsArray = explode(',',$emails);
  4.  
  5. foreach($emailsArray as $email) {
  6.      echo '<input type="text" name="email[]" value="'.$email.'" />';
  7. }



Gracias por todaaaa tu ayuda en serio :)
  #25 (permalink)  
Antiguo 05/06/2012, 18:49
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Mi ultima pregunta sorry como puedo hacer para q cada input que se genere se muestre abajo del otro (no al lado)

intente con '<br />'
pero no lo consegui
  #26 (permalink)  
Antiguo 05/06/2012, 18:54
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Quedo asi echo '<input type="text" name="email[]" value="'.$email.' " /><br/>';
  #27 (permalink)  
Antiguo 05/06/2012, 18:59
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

La ultima lo prometo he hecho todo esto

Código PHP:
<?php 
$emails 
$row_licenciaturas['email'];; 
  
$emailsArray explode(',',$emails); 
  
/*echo '<pre>';
var_dump($emailsArray); 
echo '</pre>'; 
  */
foreach($emailsArray as $email) {
     echo 
"Email: ".'<input type="text" name="email[]" value="'.$email.' " /><br/><br/>';

}
?>

Me gustaria que a cada input tuviera antes
Email 1
Email 2
Email n ... dependiendo del numero que arroje

echo "Email: " aca no se como llevar el conteo gracias y perdon por tanta pregunta
  #28 (permalink)  
Antiguo 05/06/2012, 19:27
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Insertar datos de un array

Código PHP:
Ver original
  1. $emails = $row_licenciaturas['email'];;  
  2.    
  3. $emailsArray = explode(',',$emails);  
  4.    
  5. $numEmail = 1;
  6. foreach($emailsArray as $email) {
  7.      echo "<p>Email".$numEmail.": ".'<input type="text" name="email[]" value="'.$email.' " /></p>';
  8.      $numEmail++;
  9.  
  10. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #29 (permalink)  
Antiguo 06/06/2012, 10:23
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Insertar datos de un array

Gracias por toda tu ayuda

Etiquetas: formulario, html, mysql, sql
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 18:50.