lunes, 5 de agosto de 2024

Mostrar datos de una tabla en Mysql utilizando PHP

De al menos dos de sus páginas mostrar datos extraidos desde  Mysql utilizando PHP 

Explicación 

Conexión PHP y MySQL

Para que PHP pueda acceder a una base de datos MySQL, se usa la función mysqli_connect(), que requiere los siguientes parámetros:

mysqli_connect($servername, $username, $password, $dbname); 

$servername: el servidor donde está la base de datos (por lo general "localhost" si se usa XAMPP).

$username: el nombre de usuario de la base de datos (por defecto "root").

$password: la contraseña del usuario (vacía por defecto en XAMPP).

$dbname: el nombre de la base de datos a la que se quiere conectar.

Consulta y extracción de datos

Una vez establecida la conexión, se ejecuta una consulta SQL con mysqli_query():

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql); 

Esta instrucción selecciona las columnas id, firstname y lastname de la tabla MyGuests.

Luego, con un  while, se recorre el resultado:

while($row = mysqli_fetch_assoc($result)) {
  echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}

mysqli_fetch_assoc() devuelve cada fila como un arreglo asociativo, permitiendo acceder a los valores por el nombre de la columna.

En PHP, la instrucción echo sirve para mostrar información en la página web.

Cierre de la conexión

Finalmente, se cierra la conexión con mysqli_close($conn); para liberar recursos del servidor.

 Creación de la base de datos y la tabla

 Para que el código funcione, primero debemos crear la base de datos y la tabla desde phpMyAdmin o la consola de MySQL.

 -- Crear la base de datos
CREATE DATABASE myDB;

-- Usar la base creada
USE myDB;

-- Crear la tabla MyGuests
CREATE TABLE MyGuests (
  id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  firstname VARCHAR(30) NOT NULL,
  lastname VARCHAR(30) NOT NULL,
  email VARCHAR(50),
  reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Insertar algunos datos de ejemplo
INSERT INTO MyGuests (firstname, lastname, email)
VALUES
('Juan', 'Pérez', 'juanperez@example.com'),
('María', 'Gómez', 'mariagomez@example.com'),
('Luis', 'Rodríguez', 'luisrodriguez@example.com'); 

Creacion script php

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
  // output data of each row
  while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
  }
} else {
  echo "0 results";
}

mysqli_close($conn);
?>

No hay comentarios:

Publicar un comentario