Portada » Lenguaje PHP » Usando Ajax con PHP MySQL: Ejemplos

Usando Ajax con PHP MySQL: Ejemplos

Usando Ajax con PHP MySQL. En este artículo explicaremos el uso de Ajax con PHP/MySQL. Por lo tanto, se podrá agregar y/o eliminar registros de nuestra tabla mediante el uso de JavaScript.

¿Cómo funciona el script?

  • Para que funcione correctamente tenemos que darle clic al botón agregar. Sin embargo, para registrar tenemos que completar los datos en el formulario.
  • Una vez presionado en botón agregar. La información será almacenada en la base de datos MySQL y ese registro será mostrado debajo del formulario.
  • Si deseamos borrar algún registro de la lista de alumnos tenemos que presionar el botón «eliminar«. Todo muy interactivo y didáctico para no saturar nuestro servidor.
Agregar eliminar Ajax PHP y MySQL
Agregar eliminar Ajax PHP y MySQL

Usando Ajax con PHP MySQL

1. Estructura de carpetas

a) CSS: Contiene todos los archivos de estilos incluyendo el Bootstrap
b) JS: Carpeta que contiene ficheros JavaScript
c) images: Todas las imágenes que necesita el sistema

2. Usando Ajax con PHP MySQL: Creación de  la base de datos

Cree una nueva base de datos denominada «lista_alumnos» e importe la consulta SQL en la carpeta principal del sistema para que funciones nuestro sistema:

CREATE TABLE IF NOT EXISTS `alumnos` (
  `id` int(11) NOT NULL auto_increment,
  `nombres` varchar(100) collate utf8_unicode_ci NOT NULL,
  `apellidos` varchar(160) collate utf8_unicode_ci NOT NULL,
  `email` varchar(129) collate utf8_unicode_ci NOT NULL,
  `telefono` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

3. Los archivos

index.php

El index es un archivo importante que se mostrará en la primera impresión del usuario.

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8"/>
 <title>Usando Ajax con PHP MySQL: Ejemplos</title>
 <script type="text/javascript" src="js/script.js"></script>
 <link rel="stylesheet" href="css/bootstrap.min.css">
 <script src="js/bootstrap.min.js"></script>
 </head>
 <body>
 <div class="container">
   <h1 class="main_title">Usando Ajax con PHP MySQL: Ejemplos</h1>
   <div class="content">
     <div class="panel panel-default">
       <div class="panel-body">
         <h3> Agregar Alumnos</h3>
         <form>
           <div class="form-group">
             <div class="col-sm-2">
               <input type="text" id="nombres" class="form-control" placeholder="Nombres">
             </div>
             <div class="col-sm-2">
               <input type="text" id="apellidos" class="form-control" placeholder="Apellidos">
             </div>
             <div class="col-sm-2">
               <input type="text" id="email" class="form-control" placeholder="Email">
             </div>
             <div class="col-sm-2">
               <input type="text" id="telefono" class="form-control" placeholder="Telefono">
             </div>
             <div class="col-sm-1">
               <input type="button" class="btn btn-primary" value="Agregar" onclick="add_member()">
             </div>
             <div class="col-sm-1">
               <input type="reset" class="btn btn-default" value="Limpiar">
             </div>
           </div>
         </form>
         <div style="clear:both"></div>
       </div>
     </div>
     <hr>
     <div class="panel panel-default">
       <div class="panel-body">
         <h3> Lista de alumnos</h3>
         <div id="list_container">
           <?php 
                        // inlcuimos la conexion con el servidor
                        include('conexion.php');
                        $pdo = connect();
                        // Incluir para ver la totalidad de alumnos
                        include('lista_alumnos.php'); 
                    ?>
         </div>
         <!-- lista_contenedor --> 
       </div>
       <!-- content -->
       <div class="footer"> Creado por <a href="https://baulphp.com">baulphp.com</a> </div>
       <!-- footer --> 
     </div>
   </div>
   <!-- panel 2 --> 
 </div>
 <!-- container -->
</body>
</html>

conexion.php

Este es el archivo de configuración. Contiene la conexión a la base de datos.
<?php
// PDO conexion data base
function connect() {
	$hostname = 'localhost';
	$name = 'lista_alumnos';
	$user = 'root';
	$password = 'root';
    return new PDO('mysql:host='.$hostname.';dbname='.$name, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
?>

Lista_alumnos.php

Lista de alumnos muestra todos los alumnos registrados y se actualizara cada vez que interactuamos con el formulario o borrando registros de la base de datos.

<table  class="table table-bordered" cellspacing="0" cellpadding="0">
    <tr>
        <th>Nombres</th>
        <th>Apellidos</th>
        <th>Email</th>
        <th>telefono</th>
        <th style="width:160px;">Borrar Alumno</th>
    </tr>
    <?php
		// Mostrar labla de alumnosWW
        $sql = "SELECT * FROM alumnos ORDER BY id ASC";
        $query = $pdo->prepare($sql);
        $query->execute();
        $list = $query->fetchAll();
        foreach ($list as $rs) {
            ?>
            <tr>
                <td><?php echo $rs['nombres']; ?></td>
                <td><?php echo $rs['apellidos']; ?></td>
                <td><?php echo $rs['email']; ?></td>
                <td><?php echo $rs['telefono']; ?></td>
                <td><a href="#" onclick="delete_member(<?php echo $rs['id']; ?>)"> Borrar</a></td>
            </tr>
            <?php
            
        }
    ?>
</table>

agregar_alumnos.php

Este archivo PHP se encarga de guardar los datos enviados mediante el formulario.

<?php

include('conexion.php');
$pdo = connect();
// agregar alumnos
try {
	$sql = "INSERT INTO alumnos (nombres, apellidos, email, telefono) VALUES (:nombres,:apellidos, :email,:telefono)";
	$query = $pdo->prepare($sql);
	$query->bindParam(':nombres', $_POST['nombres'], PDO::PARAM_STR);
	$query->bindParam(':apellidos', $_POST['apellidos'], PDO::PARAM_STR);
	$query->bindParam(':email', $_POST['email'], PDO::PARAM_STR);
	$query->bindParam(':telefono', $_POST['telefono'], PDO::PARAM_STR);
	$query->execute();
} catch (PDOException $e) {
	echo 'PDOException : '.  $e->getMessage();
}

// Lista de alumnos a ver
include('lista_alumnos.php');
?>

borrar_alumnos.php

Este archivo se encarga de borrar registros mediante el AJAX. A través del ID del registro. Con lo cual, puede eliminar el registro.

<?php

include('conexion.php');
$pdo = connect();
// Borrar alumno con PDO
try {
	$sql = "DELETE FROM alumnos WHERE id = :id";
	$query = $pdo->prepare($sql);
	$query->bindParam(':id', $_POST['id'], PDO::PARAM_INT);
	$query->execute();
} catch (PDOException $e) {
	echo 'PDOException : '.  $e->getMessage();
}

// Mostrar lista de alumnos
include('lista_alumnos.php');
?>
Usando Ajax con PHP MySQL
Usando Ajax con PHP MySQL

CONCLUSIÓN DEL SISTEMA

Recordemos que JavaScript en un lenguaje de programación que trabaja al lado del navegador y por ende trabaja en el ordenador. Sin embargo, esto sería una gran ventaja para realizar validaciones y manejo de la información sin saturar el servidor.

Sin embargo, hoy en día existen variantes del JavaScript como ser jQuery y Ajax que son tecnologías variantes de este gran lenguaje de programación.

Aquí les muestro un sistema para agregar registros haciendo uso de Ajax para registrar los datos de alumnos en MySQL sin tener que refrescar la página web y por ende obtener un buen rendimiento de nuestra páginas web y/o sistema web.

Espero que esta explicación les sirva bastante en sus proyectos web, saludos desde la virtualidad.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad