Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar Datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

PHP- AJAX y MySQL


AJAX se puede utilizar para la comunicación interactiva con una base de datos.


Ejemplo de base de datos AJAX

El siguiente ejemplo demostrará cómo una página web puede obtener información de una base de datos con AJAX:

Ejemplo


Person info will be listed here...

Ejemplo explicado: la base de datos MySQL

La tabla de la base de datos que usamos en el ejemplo anterior se ve así:

id FirstName LastName Age Hometown Job
1 Peter Griffin 41 Quahog Brewery
2 Lois Griffin 40 Newport Piano Teacher
3 Joseph Swanson 39 Quahog Police Officer
4 Glenn Quagmire 41 Quahog Pilot


Ejemplo explicado

En el ejemplo anterior, cuando un usuario selecciona una persona en la lista desplegable anterior, se ejecuta una función llamada "showUser()".

La función es desencadenada por el evento onchange.

Aquí está el código HTML:

Ejemplo

<html>
<head>
<script>
function showUser(str) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("txtHint").innerHTML = this.responseText;
      }
    };
    xmlhttp.open("GET","getuser.php?q="+str,true);
    xmlhttp.send();
  }
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
  <option value="">Select a person:</option>
  <option value="1">Peter Griffin</option>
  <option value="2">Lois Griffin</option>
  <option value="3">Joseph Swanson</option>
  <option value="4">Glenn Quagmire</option>
  </select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here...</b></div>

</body>
</html>

Explicación del código:

Primero, verifique si la persona está seleccionada. Si no se selecciona ninguna persona (str == ""), borre el contenido de txtHint y salga de la función. Si se selecciona una persona, haga lo siguiente:

  • Crear un objeto XMLHttpRequest
  • Cree la función que se ejecutará cuando la respuesta del servidor esté lista
  • Enviar la solicitud a un archivo en el servidor
  • Observe que se agrega un parámetro (q) a la URL (con el contenido de la lista desplegable)


El archivo PHP

La página en el servidor llamado por el JavaScript anterior es un archivo PHP llamado "getuser.php".

El código fuente en "getuser.php" ejecuta una consulta en una base de datos MySQL y devuelve el resultado en una tabla HTML:

<!DOCTYPE html>
<html>
<head>
<style>
table {
  width: 100%;
  border-collapse: collapse;
}

table, td, th {
  border: 1px solid black;
  padding: 5px;
}

th {text-align: left;}
</style>
</head>
<body>

<?php
$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123','my_db');
if (!$con) {
  die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
</body>
</html>

Explicación: cuando la consulta se envía desde JavaScript al archivo PHP, ocurre lo siguiente:

  1. PHP abre una conexión a un servidor MySQL
  2. Se encuentra la persona correcta
  3. Se crea una tabla HTML, se llena con datos y se envía de vuelta al marcador de posición "txtHint".