PHP - Guardar datos dinamicos en tablas

   
Vista:
Imágen de perfil de Rouse

Guardar datos dinamicos en tablas

Publicado por Rouse (5 intervenciones) el 27/05/2014 02:22:00
Holis plis ayuda urgente necesito guardar estos datos dinámicos en una tabla mysql. Yo inserto filas que contiene producto, cantidad y valor en una <table> de html. El código funciona correctamente pero no se como coger cada uno de los datos de la columna producto, cantidad, precio, subtotal. De antemano gracias.
Ahi muestro una imagen

este es el código para copiar y probar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Factura</title>
 
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript" src="jquery.js" charset="utf-8"></script>
        <script src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="main.js"></script>
 
<script type="text/javascript">
  function borrar(obj,valor,iva,totales,descuento) {
  fila = obj.parentNode.parentNode;
  document.getElementById('tabla').removeChild(fila);
 
 
  total = total - valor;
$("#txttotal").val(total);
 
 
 
 iva  = total * 0.19;
$("#txtiva").val(iva);
 
 
totales=total + iva- descuento ;
  $("#txttotales").val(totales);
 
  }
</script>
 
</head>
 
<body>
<form name='form1' id='form1' action='guardar.php' method='post'>
 
 <table width='90%' height='180' align='center'  class='tabl' >
 
 <!--Ingreso de productos cantidad y valor -->
 
            <tr>
            <td>PRODUCTO</td>
            <td><input type='text' name='txtNombres' id='txtNombres' /></div></td>
            <td>CANTIDAD</td>
            <td><input type='text' name='txtApellidos' id='txtApellidos'/></td>
			<td>VALOR</td>
            <td><input type='text' name='txtTelefono' id='txtTelefono' /><input name="btnInsertar" id="btnInsertar" type="button" value="Insertar" class="" /></td>
            </tr>
            </table>
 
<table width='90%' height='' align='center' bgcolor='#FFFFFF' class='tabl' id="tblDatos" >
           <tbody id="tabla">
           <tr>
           <td><strong>Producto</strong></td>
           <td><strong>Cantidad</strong></td>
           <td><strong>Precio</strong></td>
            <td><strong>Subtotal</strong></td>
           <td><strong>Eliminar</strong></td>
           </tr>
 
  <!--Insertar los datos en la tabla -->
 
 <script type="text/javascript" charset="utf-8">
 var total = 0;
 var iva = 0;
 var totales = 0;
 var i = 0;
    $(function() {
		$("#btnInsertar").click(addUsuario);	
 
	});
 
	function addUsuario(){
		var Nombres=$('#txtNombres').val();
		var apellidos=$("#txtApellidos").val();
		var telefono=$("#txtTelefono").val();			
		var descuento=$("#txtDescuento").val();			
		var tablaDatos= $("#tblDatos");		
		var valor=(apellidos*telefono)
 
		if(Nombres!="" || apellidos!="" || telefono!=""  ){
tablaDatos.append("<tr><td><input type='text' name='fruit[]' value='"+Nombres+"' autofocus readonly style='background-color:#FFF' /></td><td><input type='text' name='cantidad[]' value='"+apellidos+"'  autofocus readonly style='background-color:#FFF' aling='center' class='Campo' /></td><td><input type='text' name='precio[]' value='"+telefono+"' autofocus readonly style='background-color:#FFF' class='Campo' /></td><td><input type='text'  name='valor[]' value='"+valor+"'  autofocus readonly style='background-color:#FFF' class='Campo'/></td><td align='center'><input type='button' onclick='borrar(this,"+valor+","+iva+","+totales+","+descuento+")' value='ELIMINAR' /></td><td><input type='hidden'  name='valor[]' value='"+descuento+"'/></td></tr>");
 
 total = total + valor;
 iva  = total * 0.19;
 
 totales=total + iva - descuento
$("#txttotal").val(total);
$("#txtiva").val(iva);
$("#txtdescuento").val(descuento);
$("#txttotales").val(totales);
		reset_campos();
		}
	}
	function reset_campos(){
		$("#txtNombres").val("");
		$("#txtApellidos").val("");
		$("#txtTelefono").val("");
   }
 
$(".delete").live('click', function(event) {
	$(this).parent().parent().remove(tr);
});
</script>
</tbody>
</table>
 
 
 </form>
 
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Guardar datos dinamicos en tablas

Publicado por xve (5517 intervenciones) el 27/05/2014 08:42:11
Hola Rouse, una vez envías el formulario, en en archivo guardar.php, tendrás que capturar los datos del formulario y guardarlos en la base de datos.

En esta misma web encontraras varios ejemplos de como hacerlo...

Exactamente donde tienes el problema? en hacer el insert?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rouse

Guardar datos dinamicos en tablas

Publicado por Rouse (5 intervenciones) el 28/05/2014 02:08:47
Mi problema es al coger los datos solo cojo un campo de txtApellidos (que es el producto), txtNombres (es la cantidad), txtTelefono (es el precio), que son los tres primeros campos estaticos. Pero yo quiero coger toda la lista de producto, toda la lista de cantidad, precio y subtotal que inserto dinamicamente, Como en el ejemplo de la imagen que inserte en este caso tres filas es decir tres productos y toda esa lista no se como recoger esos tres valores para después guardarlos. :(

este código solo me recoge los datos estáticos. ayuda plis. Creo que se hace con algún array , pero no se como.

guardar.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
if($_POST['guardar']) {
 
if(isset($_POST["guardar"])){
    $btn=$_POST["guardar"];
	if($btn=="Guardar"){
 
		$idser=$_POST["numero"];
		$cant=$_POST["txtApellidos"];
		$descr=$_POST["txtNombres"];
		$vunit=$_POST["txtTelefono"];
		$vtot=$_POST["txttotal"];
		$iva1=$_POST["txtiva"];
		$tot1=$_POST["txttotales"];
 
		$sql="insert into det_factura values ('','$idcab','$idser','$cant','$descr','$vunit','$vtot','$iva1','$tot1','A')";
		$cs=mysql_query($sql,$cn);
 
		echo "<script> alert('Se inserto correctamente');</script>";
		}
	}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Guardar datos dinamicos en tablas

Publicado por xve (5517 intervenciones) el 28/05/2014 15:09:27
Hola Rouse, para coger los datos del array de valores, tienes que recorrer todos los valores.... por ejemplo, si hay 3 registros de cada, tienes:
1
2
3
$_POST["fruit"][0]
$_POST["fruit"][1]
$_POST["fruit"][2]

Eso quiere decir que tienes que hacer un bucle para todos los valores...
1
2
3
4
for($i=0;$i<count($_POST["fruit"]);$i++)
{
    echo $_POST["fruit"][$i];
}

Con esto te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Rouse

Guardar datos dinamicos en tablas

Publicado por Rouse (5 intervenciones) el 28/05/2014 18:17:05
Mucas gracias de verdad era lo que quería y disculpa que te moleste mucho es que estoy conociendo recién este lenguaje , pero tengo una ultima pregunta quisiera guardar esos datos pero solo logro guardar el ultimo, no todos. Creo que el insert tiene que estar dentro de los for intente algo pero no me sale o usar un while. Ayudita plis
Por ejemplo:
si ingreso dos filas con tomate, papa, guardar como filas diferentes.
tabla factura
id_fact nombre cantidad precio
1 tomate 1 0.20
2 papa 2 0.60

este es mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include("conexion_fact.php");
?>
 
<?php
if($_POST['guardar']) {
 
if(isset($_POST["guardar"])){
    $btn=$_POST["guardar"];
	if($btn=="Guardar"){
 
	for($i=0;$i<count($_POST["fruit"]);$i++)
{
    echo $_POST["fruit"][$i];
	$cant=$_POST["cantidad"][$i];
}
 
	for($i=0;$i<count($_POST["cantidad"]);$i++)
{
    echo $_POST["cantidad"][$i];
	$descr=$_POST["fruit"][$i];
}
 
for($i=0;$i<count($_POST["precio"]);$i++)
{
    echo $_POST["precio"][$i];
	$vunit=$_POST["precio"][$i];
}
	        $sql="insert into factura values ('','$cant','$descr','$vunit')";
		$cs=mysql_query($sql,$cn);
 
		echo "<script> alert('Se inserto correctamente');</script>";
 
		}
	}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rouse

Guardar datos dinamicos en tablas

Publicado por Rouse (5 intervenciones) el 28/05/2014 19:06:55
Perdón es que no puse mi código en etiqueta en el mensaje anterior, de antemano gracias, aquí esta.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
include("conexion_fact.php");
?>
 
<?php
if($_POST['guardar']) {
 
if(isset($_POST["guardar"])){
$btn=$_POST["guardar"];
if($btn=="Guardar"){
 
for($i=0;$i<count($_POST["fruit"]);$i++)
{
echo $_POST["fruit"][$i];
$cant=$_POST["cantidad"][$i];
}
 
for($i=0;$i<count($_POST["cantidad"]);$i++)
{
echo $_POST["cantidad"][$i];
$descr=$_POST["fruit"][$i];
}
 
for($i=0;$i<count($_POST["precio"]);$i++)
{
echo $_POST["precio"][$i];
$vunit=$_POST["precio"][$i];
 
 
}
 
$sql="insert into factura values ('','$cant','$descr','$vunit')";
$cs=mysql_query($sql,$cn);
 
echo "<script> alert('Se inserto correctamente');</script>";
 
}
}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rouse

Guardar datos dinamicos en tablas

Publicado por Rouse (5 intervenciones) el 30/05/2014 20:10:49
ya resolví mi problema gracias igualmente. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Guardar datos dinamicos en tablas

Publicado por xve (5517 intervenciones) el 30/05/2014 23:46:38
Hola Rouse, nos puedes comentar como lo has resuelto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar datos dinamicos en tablas

Publicado por martin harthon_18@hotmail.com (1 intervención) el 20/06/2014 18:37:30
Hola dime como resolviste tu problema ayudame kiero hacer lo mismo lo ago con un combo agrego varios cursos a una matricula y kiero trecorrer la tabla dinamcia y guardar todas las filas en msyql
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar datos dinamicos en tablas

Publicado por ronald david rondachiga@hotmail.com (1 intervención) el 08/01/2015 12:09:09
podrias enviarme el codigo disculpa es que no entiendo y no encuentro gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar datos dinamicos en tablas

Publicado por juan karlos jcmartos02@gmail.com (1 intervención) el 27/04/2015 21:30:17
podria ayudarme con el codigo para el inserter de la base de datos por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar datos dinamicos en tablas

Publicado por LEC (1 intervención) el 11/05/2015 19:43:09
Juan probá el siguiente código, a mi me funciona. Espero te sirva.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
include("conexion.php");
?>
 
<?php
if($_POST['guardar']) {
 
	if(isset($_POST["guardar"])){
		$btn=$_POST["guardar"];
 
		if($btn=="Guardar"){
 
 
if (!empty($_POST['fruit']) && !empty($_POST['cantidad']) && is_array($_POST['fruit']) && is_array($_POST['cantidad']) && count($_POST['fruit']) === count($_POST['cantidad']))
{
    $name_array = $_POST['fruit'];
    $age_array = $_POST['cantidad'];
    for ($i = 0; $i < count($name_array); $i++) {
 
        $insumo = mysql_real_escape_string($name_array[$i]);
        $cant = mysql_real_escape_string($age_array[$i]);
 
		$con = conex::con();
 
			$q = "INSERT INTO  entregas (insumo, cantidad) VALUES ('$insumo', '$cant')";
			$sql = mysql_query($q, $con);
 
    	}
		echo "<script> alert('Se inserto correctamente');</script>";
}
 
	   }
	}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar datos dinamicos en tablas

Publicado por MANUEL manuel.sol@outlook.com (1 intervención) el 30/12/2015 21:20:12
hola rouse buenas tardes disculpa podrias apoyarme con la solucion para guardar los datos de la tabal dinamica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar datos dinamicos en tablas

Publicado por Alfredo inf_alfredo_15@hotmail.com (1 intervención) el 04/09/2016 03:21:45
Hola Rouse, se que este post ya tiene mucho tiempo.

tengo el mismo poblema que tu y el codigo que publica se adapta perfectamente a lo que necesito y no se como hacer para que se almacene en la base de datos.

mi pegunta es: si tienes aun el codigo me lo podias enviar a mi correo?

de ante manos muchas gracias y disculpa el abuso

mi correo inf_alfredo_15@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar