Last active
June 13, 2018 08:45
-
-
Save evilnapsis/b8d1cc8861089b0d97fdf7d5af65e26b to your computer and use it in GitHub Desktop.
Obtener productos, seleccionar y eliminar con PHP y MysQL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Incluimos el archivo de conexion a la base de datos | |
include "connect.php"; | |
// La siguiente es la consulta para obtener los productos de la BD | |
$sql = "select * from product"; | |
// Nos conectamos a la BD | |
$con = connect(); | |
// Ejecutamos la consulta SQL | |
$query = $con->query($sql); | |
// Hacemos un recorrido de los resultados y guardamos todo en la variable DATA | |
$data = array(); | |
while($r = $query->fetch_object()){ | |
$data[] = $r; | |
} | |
?> | |
<?php | |
// Si los elementos de la variable data son > 0 | |
if(count($data)>0):?> | |
<button id="selall">Seleccionar todo</button> | |
<button id="delselected">Eliminar seleccionados</button> | |
<br><br> | |
<table border="1"> | |
<thead> | |
<th></th> | |
<th>Nombre</th> | |
<th>Precio</th> | |
</thead> | |
<?php | |
// Hacemos un reccorrido de la variable data | |
foreach($data as $d):?> | |
<tr> | |
<td> | |
<input type="checkbox" id="product-<?php echo $d->id; ?>" class="check"> | |
</td> | |
<td><?php echo $d->name; // Nombre del producto ?></td> | |
<td><?php echo $d->price;// Precio del producto ?></td> | |
</tr> | |
<?php endforeach; ?> | |
</table> | |
<script type="text/javascript"> | |
$(document).ready(function(){ | |
$("#selall").click(function(){ | |
// Obtenenos los ids de todos los elementos | |
checks = document.querySelectorAll(".check"); | |
if(checks.length>0){ | |
for(i=0;i<checks.length;i++){ | |
checks[i].checked=true; | |
} | |
} | |
}); | |
$("#delselected").click(function(){ | |
// Obtenenos los ids de los elementos que esten seleccionados "checked" | |
checks = document.querySelectorAll(".check:checked"); | |
// Verificamos que la cantidad de elementos seleccionados sea mayor a 0 (cero) | |
if(checks.length>0){ | |
// Si hay elementos seleccionados | |
// Le preguntamos al usuario si esta seguro de eliminar | |
x = confirm("Estas seguro de eliminar "+checks.length+" elemento(s) ?"); | |
if(x){ | |
// Si el usuario esta seguro, procedemos | |
// la variable ids contiene los IDs de los elementos seleccionados | |
ids = ""; | |
// En el siguiente ciclo vamos a recorrer los elementos seleccionamos y guardaremos los IDs separados por comas (,) en la variable ids | |
for(i=0;i<checks.length;i++){ | |
// Los ids de los productos estan en los checkbox como "producto-ID" entonces tenemos que hacer SPLIT y despues usar el elemento [1] que es el ID, el elemento [0] es "product" | |
p = checks[i].id.split("-"); | |
// agregamos el ID a la variable ids | |
ids += p[1] + ","; | |
} | |
// En la siguiente funcion AJAX vamos a enviar los IDS al archivo delproduct.php | |
$.get("delproduct.php","ids="+ids,function(d){ | |
// Una vez finalizada la eliminacion procedemos a recargar los productos de nuevo. | |
$.get("getproducts.php","",function(data){ | |
$("#products").html(data); | |
}); | |
}); | |
} | |
}else{ | |
// Si no hay elementos seleccionados | |
alert("No hay productos seleccionados"); | |
} | |
}); | |
}); | |
</script> | |
<?php else:?> | |
<p>No hay productos</p> | |
<?php endif; ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment