Foros del Web » Programando para Internet » PHP »

Cargar datos a una base desde formulario dinamico

Estas en el tema de Cargar datos a una base desde formulario dinamico en el foro de PHP en Foros del Web. Hola: He creado este formualrio, donde hay la posibilidad de "duplicar" las filas Código PHP: < html > < head >     < title > Pruebas ...
  #1 (permalink)  
Antiguo 09/12/2013, 11:59
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Cargar datos a una base desde formulario dinamico

Hola:

He creado este formualrio, donde hay la posibilidad de "duplicar" las filas

Código PHP:
<html>
<
head>
    <
title>Pruebas</title>
<
script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(function(){
 
    tabla = $('#tabla');
    tr = $('tr:first', tabla);
    $('#agregarFila').live('click', function (){
        tr.clone().appendTo(tabla).find(':text, :hidden').val('');
    });
 
    $(".eliminarFila").live('click', function (){
        var tr = $(this).closest('tr')
        if ( $('[name=id[]]', tr).val() )
            alert("Elimino de la bd con ajax");
        tr.remove();
    });
 
});
</script>
</head>
 

 
<body>
 
    <form action="reg_entrada.php" method="post">
        <table id="tabla">
            <tr>
              
                <td><input type="text" name="titular" ></td>
                <td><input type="text" name="relacion" ></td>
                <td><input type="text" name="amigo"></td>
                <td><input type="button" value="Eliminar" class="eliminarFila"></td>
            </tr>
        </table>
        <input type="button" value="Agregar" id="agregarFila">
        <input type="submit" value="Enviar datos"/>
    </form>
 
 
 
</body>
</html> 
Y con este otro lo mando a la base de datos

Código PHP:
<?
include('con.php'); //incluimos el config.php que contiene los datos de la conexión a la db




 
    
$titular=$_POST['titular'];
     
$relacion=$_POST['relacion'];
    
$amigo=$_POST['amigo'];


    



if(
mysql_query("INSERT INTO relaciones (titular,relacion,amigo) values ('$titular','$relacion','$amigo') ")){
    echo 
"Guardado con exito.";
}else{
    echo 
"Se ha producido el siguiente error:<br>".mysql_error();
}

?>
Pero claro cuando duplico las linea, ya no me funciona,

Alguna idea de como hacerlo?

Un saludo
  #2 (permalink)  
Antiguo 09/12/2013, 12:10
 
Fecha de Ingreso: diciembre-2012
Mensajes: 128
Antigüedad: 11 años, 11 meses
Puntos: 12
Respuesta: Cargar datos a una base desde formulario dinamico

A que te refieres con duplicar la linea?
__________________
Comparador facturas de luz
  #3 (permalink)  
Antiguo 09/12/2013, 12:24
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Cargar datos a una base desde formulario dinamico

Se crea una "nueva" entrada de datos

pero los nombres de los campos se repiten¡¡¡

Y la hemos liado
  #4 (permalink)  
Antiguo 10/12/2013, 05:06
 
Fecha de Ingreso: diciembre-2012
Mensajes: 128
Antigüedad: 11 años, 11 meses
Puntos: 12
Respuesta: Cargar datos a una base desde formulario dinamico

Haz justo antes de insertar un select buscando si esa entrada ya existe y si no existe la insertas y si existe no la insertas.

Lo mejor para tu caso seria que buscases la relacion entre esos dos sujetos y si existe la le cambias el valor de "relacion", y si no existe la creas.
__________________
Comparador facturas de luz
  #5 (permalink)  
Antiguo 10/12/2013, 05:17
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Cargar datos a una base desde formulario dinamico

Hola:

que mal me explico¡¡¡

mi problema esta en el segundo formulario,

como los campos que se envian se llaman igual, se "pisan" y solo se guarda uno.

Vamos que habria que buscar la manera que recogiera nombre, nombre(1), ...

Un saludo
  #6 (permalink)  
Antiguo 10/12/2013, 05:53
 
Fecha de Ingreso: abril-2012
Mensajes: 106
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Cargar datos a una base desde formulario dinamico

creo que ya te entendi estaba probando tu codigo y lo modifique .
tu formulario quedaria asi:

Código HTML:
Ver original
  1. <form action="" method="post">
  2.         <table id="tabla">
  3.             <tr>
  4.                
  5.                 <td><input type="text" name="titular[]" ></td>
  6.                <td><input type="text" name="relacion[]" ></td>
  7.                 <td><input type="text" name="amigo[]" ></td>
  8.                 <td><input type="button" value="Eliminar" class="eliminarFila"></td>
  9.             </tr>
  10.         </table>
  11.         <input type="button" value="Agregar" id="agregarFila">
  12.         <input type="submit" value="Enviar datos"/>
  13.     </form>


y el PHP lo ise asi(solo te quedaria adaptarlo para que insertes los datos en tu base de datos .,la idea era RECOGER los datos de los INPUTS).
Código PHP:
Ver original
  1. <?php
  2. if($_POST){
  3.  $titular=$_POST['titular'];
  4.  $relacion=$_POST['relacion'];
  5.  $amigo=$_POST['amigo'];
  6.  $arrdatos=array($titular,$relacion,$amigo);
  7. foreach($arrdatos as $objkey=>$datos){
  8. echo "COLUMNA :$objkey<br>";
  9. foreach($datos as $key=>$value){
  10. echo $key." : $value<br>";
  11.     }
  12. echo "<br>";
  13.     }
  14. }
  15. ?>

pruebalo y aver como te ba
  #7 (permalink)  
Antiguo 10/12/2013, 06:12
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Cargar datos a una base desde formulario dinamico

Gracias por tu tiempo.

He revisado lo que me has pasado, y va genial...

Pero no veo como mandarlo a la base de datos, mira que soy torpe

entiendo que habria que adaptar este trozo del codigo:
Código PHP:
if(mysql_query("INSERT INTO relaciones (titular,relacion,amigo) values ('$titular','$relacion','$amigo') ")){ 
    echo 
"Guardado con exito."
}else{ 
    echo 
"Se ha producido el siguiente error:<br>".mysql_error(); 

pero no veo como
  #8 (permalink)  
Antiguo 10/12/2013, 10:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Cargar datos a una base desde formulario dinamico

Lo que tienes que hacer es un ciclo para insertar, ya que al nombrar los campos con [] se convierten en arreglos, es fácil hacer el ciclo:
Código PHP:
Ver original
  1. $titulares = $_POST['titular'];
  2. foreach ($titulares as $titular) {
  3.       echo $titular;
  4. }

Saludos.
  #9 (permalink)  
Antiguo 10/12/2013, 10:49
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Cargar datos a una base desde formulario dinamico

Lo siento, pero no te entendi.


la variable $titular englobaria todos los datos que llegan como titular?

y si es asi, mandando esa variable, se guardarian todos?

un saludo
  #10 (permalink)  
Antiguo 10/12/2013, 10:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Cargar datos a una base desde formulario dinamico

Lee lo siguiente:

http://www.php.net/variables.external

Saludos.
  #11 (permalink)  
Antiguo 10/12/2013, 11:16
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Cargar datos a una base desde formulario dinamico

Entiendo que mi camino seria este, no?
<?php
get_superglobal_vars_from_POST('var1','...','varN' );

function get_superglobal_vars_from_POST()
{
$numargs = func_num_args();
$setargs = 0; // for counting set variables
for ($i=0; $i<$numargs; $i++)
{
$varname=func_get_arg($i);
if (!isset($_POST[$varname]))
$result='';
else
{
$result=$_POST[$varname];
$setargs++;
}
$GLOBALS["$varname"]=$result;
}
return $setargs; // who cares?
}
?>
  #12 (permalink)  
Antiguo 10/12/2013, 11:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Cargar datos a una base desde formulario dinamico

No, si ves el link que te dejé, es al Manual y te indica claramente como rescatar variables desde un formulario, eso lo debes de aprender, y entender, para que sepas como rescatar los datos en tu formulario.

Una vez que sepas como trabajar con $_POST, es cuestión de que hagas un ciclo y por cada valor de tu arreglo que viene, realizas el insert.

Saludos.
  #13 (permalink)  
Antiguo 12/12/2013, 02:43
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Cargar datos a una base desde formulario dinamico

Lo intente, pero no he sido capaz de hacerlo funcionar.

Igual dios no me llamo por este camino jajjaja

gracias por tu tiempo

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