Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/07/2015, 00:24
jjjtaccess
 
Fecha de Ingreso: junio-2015
Ubicación: Venezuela
Mensajes: 6
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Enviar datos por php

Al final lo he logrado usando la funcion JQuery del tutorial

1) El codigo HTML
Código HTML:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Jefferson Jimenez</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <link rel='stylesheet prefetch' href='http://s.cdpn.io/3/bootstrap.min.css'>
</head>
 
<body>
 
 
<section class="container">
 
	<h2>Tabla Filtrar</h2>
 
	<input type="button" onClick="filtraCantidad();" value="filtra">
	<input type="button" onClick="Quitafiltra();" value="filtro Off">
	<input type="button" onClick="grabaTodoTabla('DataTable');" value="Envia PHP">
        <input type='button' id="btnImpr" onclick='window.print();' value='Imprimir' />
 
	<table name="datos" id="DataTable" class="order-table table">
		<thead>
			<tr>
				<th>Codigo</th>
				<th>Email</th>
				<th>Phone</th>
				<th>Price</th>
				<th>Cantidad</th>
		       </tr>
		</thead>
		<tbody id="datos">
			<tr>
				<td id="Cod">D1092</td>
				<td>[email protected]</td>
				<td>0123456789</td>
				<td>99</td>
				<td><input type="text" name="Cantidad" id="Cant1" value=""></td>
			</tr>
			<tr>
				<td id="Cod">D5236</td>
				<td>[email protected]</td>
				<td>9876543210</td>
				<td>349</td>
				<td><input type="text" name="Cantidad" id="Cant2" value=""></td>
			</tr>
			<tr>
				<td id="Cod">D635</td>
				<td>[email protected]</td>
				<td>6754328901</td>
				<td>199</td>
				<td><input type="text" name="Cantidad" id="Cant3" value=""></td>
			</tr>
			<tr>
				<td id="Cod">D6984</td>
				<td>[email protected]</td>
				<td>041456545454</td>
				<td>125</td>
				<td><input type="text" name="Cantidad" id="Cant4" value=""></td>
			</tr>
 
		</tbody>
	</table>
 
</section>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

	<script type="text/javascript">
	// Actualiza de manera masiva todos los archivos cargados en la tercera pestaña.
	function grabaTodoTabla(TABLAID){ 
		//tenemos 2 variables, la primera será el Array principal donde estarán nuestros datos y la segunda es el objeto tabla
		var DATA 	= []; 
		var TABLA 	= $("#"+TABLAID+" tbody > tr");
	 
		//una vez que tenemos la tabla recorremos esta misma recorriendo cada TR y por cada uno de estos se ejecuta el siguiente codigo
		TABLA.each(function(){
			//por cada fila o TR que encuentra rescatamos 3 datos, el ID de cada fila, 
			
			var     ID 	= $(this).find("td[id='Cod']").text(),
				DESC 	= $(this).find("input[id*='Cant']").val(),
				
	
			//entonces declaramos un array para guardar estos datos, lo declaramos dentro del each para así reemplazarlo y cada vez
			item = {}; 
			//si miramos el HTML vamos a ver un par de TR vacios y otros con el titulo de la tabla, 
			if(ID !== ''){
			if( $(this).find("input[id*='Cant']").val() !== '' ) { 
		        item ['Codigo'] 	= ID; 
		        item ['Cantidad'] 	= DESC; 
		      
		        
		        //una vez agregados los datos al array "item" declarado anteriormente hacemos un .push() para agregarlos a nuestro array principal "DATA".
		        DATA.push(item); 
			} }
		});
		console.log(DATA);  
	
		//eventualmente se lo vamos a enviar por PHP por ajax de una forma bastante simple y además convertiremos el array en json para evitar 
		INFO 	= new FormData();
		aInfo 	= JSON.stringify(DATA);
	
		INFO.append('data', aInfo);  
         
			$.ajax({
			processData: false, 
			contentType: false,
			 type: "POST",
			 url: "envio.php",
			 data: INFO,
			 success: function(data) { alert(data);}
			});	
			
	}
	</script>

 
<script>
function filtraCantidad()
{
	// la var para recorrer la tabla
	var tableReg = document.getElementById('datos');
	// la var para pasar el input donde deseo hacer match
	var x = document.getElementsByName("Cantidad");
 
	for(var i = 0; i < x.length; i++)
	{ // Recorremos todas las celdas
		// Comparo sea tipo input text
		if (x[i].type == "text")
		{
			console.log(x[i].value);
			// Verifico el valor del input
			if (x[i].value == null || x[i].value.length == 0 || x[i].value=="" || /^\s*$/.test(x[i].value))
			{ // Si esta vacio oculto el display
				console.log(i);
				tableReg.rows[i].style.display = 'none';
			} else { // caso contrario lo hago visible
				tableReg.rows[i].style.display = '';
			}
		}
	}
}
function Quitafiltra()
		{
			// la var para recorrer la tabla
			var tableReg = document.getElementById('datos');
			// la var para pasar el input donde deseo hacer match
			var x = document.getElementsByName("Cantidad");
		 
			for(var i = 0; i < x.length; i++)
			{ // Recorremos todas las celdas
			   tableReg.rows[i].style.display = '';
			}
	       }
</script>
 
</body>
</html> 
Ahora en la misma carpeta del directorio donde estemos trabajando creamos el php que lo llamaremos envio.php (cada quien le pone el nombre que desee)

Código PHP:
<?php

$jsonData 
$_POST['data'];
$phpArray json_decode($jsonDatatrue);

foreach (
$phpArray as $key => $value) { 
    
    foreach (
$value as $Codigo => $Cantidad) { 
    
    
$dev =  $dev .  " $Codigo : $Cantidad "  
 
    } 
}


echo 
$dev;


?>
Y listo eso es todo....