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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar datos dinamicos en tablas

Publicado por xve (6935 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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar datos dinamicos en tablas

Publicado por xve (6935 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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar datos dinamicos en tablas

Publicado por xve (6935 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
Imágen de perfil de Eduardo Castro

Guardar datos dinamicos en tablas

Publicado por Eduardo Castro (1 intervención) el 16/04/2017 05:53:32
amigo prueba con este codigo, en el js guarda una fila entonces no es necesario tener 3 for solo 1 para recorrerlo solo lo que cambiaria son los campos necesarios .. adjunto el codigo que modifique.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include("../php/conexion.php");
 
if($_POST['guardar']) {
	if(isset($_POST["guardar"])){
		for($i=0;$i<count($_POST["fruit"]);$i++){
			$cant=$_POST["cantidad"][$i];
			$descr=$_POST["fruit"][$i];
			$vunit=$_POST["precio"][$i];
			echo "<br>";
			echo "insert into factura values ('',".$cant.",".$descr.",".$vunit.");";
			echo "<br><br>";
		}
	}
}
?>
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 (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 (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 (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 ronal (2 intervenciones) el 05/03/2018 22:32:16
Cual es la conexion.php
e intentado pero me sale
Notice: Undefined index: guardar in C:\xampp\htdocs\pruebas\guardar.php on line 6
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar datos dinamicos en tablas

Publicado por xve (6935 intervenciones) el 06/03/2018 08:02:36
Eso es porque el indice "guardar" en el array $_POST no existe!!!

Cuando envias el formulario, no envias ese valor... puede ser?
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 ronal (2 intervenciones) el 06/03/2018 21:25:05
Si ya lo solucione 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 MANUEL (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 (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 [email protected]
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