actores_ajax (html)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="actores.js" type="text/javascript"></script> </head> <body> <p>Nombre<input type="text" id="first_name" name="first_name"></p> <p>Apellidos<input type="text" id="last_name" name="last_name"></p> <input type="button" value="Añadir" id="nuevo"> <div id="mensaje"></div> <div id="lista"></div> </body> </html>
actores.js (ajax)
$(function () { cargar(); function cargar() { $.get("actores_ajax_back.php?funcion=lista", function (data) { $("#lista").html(data); $(".borrar").click(function () { console.log($(this)); console.log($(this).val()); $.post("actores_ajax_back.php?funcion=borrar", {actor_id: $(this).val()}) .done(function (data) { console.log(data); $('#mensaje').html("Borrado"); cargar(); }); }); }); } $("#nuevo").click(function () { $.post("actores_ajax_back.php?funcion=nuevo", {first_name: $('#first_name').val(), last_name: $('#last_name').val()}) .done(function (data) { $('#mensaje').html("Insertado con id " + data); cargar(); }); }); });
actores_ajax_back.php (backend)
<?php $server = "localhost"; $user = "root"; $password = ""; $db = "sakila"; try { $conn = new PDO("mysql:host=$server;dbname=$db;charset=UTF8", $user, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { echo "Connection failed: " . $e->getMessage(); } $funcion = filter_input(INPUT_GET, "funcion"); if (function_exists($funcion)) { $funcion($conn); } function lista($conn) { try { $sql = "select * from actor"; $q = $conn->query($sql); ?> <table> <tr><td>Id</td><td>Nombre</td><td>Apellido</td><td>Acciones</td> </tr> <?php while ($row = $q->fetch()) { ?> <tr><td><?= $row['actor_id'] ?></td> <td><?= $row['first_name'] ?></td> <td><?= $row['last_name'] ?></td> <td><button class="borrar" value="<?= $row['actor_id'] ?>">Borrar</button></td> </tr> <?php } ?></table><?php } catch (Exception $ex) { echo $ex->getMessage(); } } function nuevo($conn) { try { $first_name = filter_input(INPUT_POST, "first_name", FILTER_SANITIZE_MAGIC_QUOTES); $last_name = filter_input(INPUT_POST, "last_name", FILTER_SANITIZE_MAGIC_QUOTES); if (!empty($first_name) && !empty($last_name)) { $sql = "insert into actor(first_name,last_name) values ('$first_name','$last_name')"; //Ejecutarlo if ($conn->exec($sql) > 0) { echo $conn->lastInsertId(); } } } catch (Exception $ex) { echo $ex->getMessage(); } } function borrar($conn) { try { $actor_id = filter_input(INPUT_POST, "actor_id"); if (!empty($actor_id) ) { $sql = "delete from actor where actor_id=$actor_id"; //Ejecutarlo echo $conn->exec($sql); } } catch (Exception $ex) { echo $ex->getMessage(); } }