Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Grabar contenido de varios textbox

Estas en el tema de Grabar contenido de varios textbox en el foro de PHP en Foros del Web. Hola a todos, espero me puedan ayudar, tengo una pagina padre en php que dependiendo de lo que seleccione el usuario en un popup esta ...
  #1 (permalink)  
Antiguo 04/02/2013, 06:36
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Pregunta Grabar contenido de varios textbox

Hola a todos, espero me puedan ayudar, tengo una pagina padre en php que dependiendo de lo que seleccione el usuario en un popup esta me genera unos campos textbox en forma automática, es decir que si el usuario selecciono 3 item en el popup en la pagina madre me aparecen 3 textbox, hasta aquí todo bien, en donde tengo problemas es que en la pagina madre tengo un botón que dice grabar y no se como hacer que me capture el valor de los textbox creados automáticamente para grabarlos en una base de datos ya que como los crea dependiendo de lo que seleccione el usuario no se cuantos son o como llamarlos para obtener su valor.

Des ya muchas gracias.
  #2 (permalink)  
Antiguo 04/02/2013, 06:51
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Grabar contenido de varios textbox

name="arreglo[]"

luego en php

Código PHP:
Ver original
  1. $foo = $_POST['arreglo'];
  2.  
  3. echo $foo[0];
  4.  
  5. echo $foo[1];
  6.  
  7. echo $foo[2];
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 04/02/2013, 12:23
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Grabar contenido de varios textbox

muchas gracias h2swider por la ayuda hice lo que me decias y me quedo mi codigo de la siguiente manera:
Código PHP:
  <?php
$sql 
mysql_query("SELECT cod,id_curso,nombre FROM temp 
LEFT JOIN cursos on temp.ID_CURSO=cursos.id
where cod='123'"
);
while (
$row=mysql_fetch_array($sql))
{
$NOMBRE_CURSO=$row['nombre'];
$i=$i+1;
echo
"
<tr>
<td  bgcolor='#72B446'>$NOMBRE_CURSO</td>
<td><input name='ben[$i]' id='$i' type='text'/></td>
<td><input name='rel[$i]' id='$i' type='text'/></td>
</tr>"
;
}
 
?>
Código HTML:
Ver original
  1.     <tr>
  2.         <td><input name="grabar" id="grabar" type="submit" value="Finalizar"></td>
  3.     </tr>
  4.  </table>

el problema que tengo ahora es que tengo un boton grabar y al presionar ese boton tengo que grabar el contenido de los textbox en una base de datos, pero no se como hacer la consulta, porque la cantidad de textbox es indeterminada porque como decia anteriormente la cantidad de textbox va a depender de lo que selecciones el usuario en un popup, me puedes ayudar con esto por favor.
  #4 (permalink)  
Antiguo 04/02/2013, 13:42
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Grabar contenido de varios textbox

Código PHP:
Ver original
  1. $arreglo = $_POST['arreglo'];
  2.  
  3. foreach ($arreglo as $foo){
  4. //"Insert into tabla (campo) values ($foo)"
  5. }
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #5 (permalink)  
Antiguo 05/02/2013, 14:45
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Grabar contenido de varios textbox

gracias h2swider, la verdad es que yo soy novato en esto de php y no entiendo mucho el codigo que pusiste como solucion a mi problema, me podrías explicar por favor, por que intente hacerlo como tu decias pero no funciona,
sorry por ser tan fastidioso con el tema.
  #6 (permalink)  
Antiguo 05/02/2013, 16:22
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Grabar contenido de varios textbox

Esto quizás te ayude:
http://www.forosdelweb.com/f18/consu...ablas-1033140/
Un saludo
  #7 (permalink)  
Antiguo 06/02/2013, 09:14
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Grabar contenido de varios textbox

hola satjaen y gracias por querer ayudar, seguí los pasos del link que me dejaste, pero no logro grabar datos en la base , aquí dejo mi código por si me pueden ayudar por fa.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Documento sin título</title>
  5. </head>
  6. <form name="socio_new" method="post" action="index.php">
  7.  <table>
  8.   <tr>
  9.   <td width="620" colspan="3" bgcolor="#246A07" >Cursos</td>
  10.   </tr>
Código PHP:
Ver original
  1. <?php
  2. include("Api/Conections/conexion.php");
  3. include("Api/functions/funciones.php");  
  4. $sql = mysql_query("SELECT cod,id_curso,nombre FROM temp
  5. LEFT JOIN cursos on temp.ID_CURSO=cursos.id
  6. where cod='123'");
  7. while ($row=mysql_fetch_array($sql))
  8. {
  9. $NOMBRE_CURSO=$row['nombre'];
  10. $ID_cur=$row['ID_CURSO'];
  11. echo"
  12. <tr>
  13. <td  bgcolor='#72B446'>$NOMBRE_CURSO</td>
  14. <td><input name='ben[]' id='$i' type='text'/></td>
  15. <td><input name='rel[]' id='$i' type='text'/></td>
  16. </tr>";
  17. }
  18.   ?>
Código HTML:
Ver original
  1.  <table>
  2.     <tr>
  3.         <td><input name="grabar" id="grabar" type="submit" value="Finalizar"></td>
  4.         <!-- Este es el boton que quiero que al presionarlo me grabe en una base de datos -->
  5.     </tr>
  6.  </table>
  7.  </form>
Código PHP:
Ver original
  1. <?php
  2. if($grabar!="")
  3.     {
  4. $ben = $_POST['ben'];
  5. $rel = $_POST['rel'];
  6.  
  7. $total = count($ben);
  8. for ($i = 0; $i < $total; $i++) {
  9.         $beneficiario = $ben[$i];
  10.         $relacion = $rel[$i];
  11.        
  12. $sql_insert= sprintf("INSERT INTO prueba (curso,ben,rel)
  13. VALUES ('$ID_cur')",
  14. GetSQLValueString($_POST['ben'], "text"),
  15. GetSQLValueString($_POST['rel'], "text"));
  16. mysql_query($sql_insert);
  17. }  
  18.  
  19. }
  20. ?>
Código HTML:
Ver original
  1. </body>
  2. </html>

Desde ya muchas gracias!!!!!
  #8 (permalink)  
Antiguo 06/02/2013, 11:40
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Grabar contenido de varios textbox

Primeramente esta consulta esta mal

INSERT INTO prueba (curso,ben,rel)
VALUES ('$ID_cur')

mencionas 3 campos, pero solo mandas un valor...
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #9 (permalink)  
Antiguo 06/02/2013, 11:58
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Grabar contenido de varios textbox

Cita:
Iniciado por h2swider Ver Mensaje
Primeramente esta consulta esta mal

INSERT INTO prueba (curso,ben,rel)
VALUES ('$ID_cur')

mencionas 3 campos, pero solo mandas un valor...
pense que con estas lineas se enviaban los demas datos:

GetSQLValueString($_POST['ben'], "text"),
GetSQLValueString($_POST['rel'], "text"));

:(
yo habia entendido eso , como es entonces
  #10 (permalink)  
Antiguo 06/02/2013, 14:21
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Grabar contenido de varios textbox

ahi lo solucione, era tan simple como poner la query de la siguiente manera

Código PHP:
$sql_insert="INSERT INTO prueba (curso,ben,rel)
VALUES ('$ID_cur','$beneficiario','$relacion')"
;
mysql_query($sql_insert); 
muchas gracias a todos por su ayuda!!!!

Etiquetas: contenido, textbox
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:33.