22 octubre, 2024
Programación de una clase para conectarse a una base de datos en MYSQL ademas de los métodos CRUD estandar para realizar consultas, en PHP
Suscríbete a nuestro canal en Youtube
SuscríbirseToda aplicación o página web que muestra datos de forma dinámica; tiene por defecto:
Pero antes veremos que necesitamos para implementar o programar una aplicación web de forma sencilla
<?php
$hostname="localhost";
$username="root";
$password="";
$dbname="bdcodea";
$db= mysqli_connect($hostname,$username, $password)
or die("<html><script language='JavaScript'>alert('¡No es posible conectarse a la base de datos! Vuelve a intentarlo más tarde.'),history.go(-1)</script></html>");
mysqli_select_db($db,$dbname);
En esta parte usamos la conexión a la base de datos.
<?php
require "conexion.php";
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CONECTAR UNA BD MYSQL CON PHP DE FORMA SENCILLA</title>
<style>
table{
width:400px;
}
h1{
width:400px;
text-align:center
}
.centrar{
margin: 0 auto;
background:orange;
}
</style>
</head>
<body>
<h1 class="centrar">LISTA DE USUARIOS</h1>
<?php
$query = "SELECT * FROM nombre";
$result = mysqli_query($db,$query);
if($result){
echo "<table border=1 class='centrar'>";
echo "<tr> <td> ID </td> <td> NOMBRE </td> </tr>";
while($row = mysqli_fetch_array($result)){
$id = $row["id"];
$name = $row["nombre"];
echo "<tr> <td> ".$id."</td> <td> ".$name."</td> </tr>";
}
echo "</table>";
}
?>
</body>
</html>
Un punto muy importante es que debemos cerrar la base de datos despues de usarla.
Siguiendo el flujo de nuestra pequeña aplicación pues simplemente podemos dar un valo nullable a la variable que almacena la conexión. Y sería de la siguiente forma.
<?php
$db = null;
?>
La versión que hemos desarrollado esta implementada para PHP 7.0 ó superior con soporte para MYSQL y MYSQLi
Creando la clase contenedora y el constructor PHP para la conexión de la base de datos:
<?php
class ApptivaDB{
private $host ="localhost";
private $usuario="root";
private $clave ="";
private $db ="test";
public $conexion;
public function __construct(){
$this->conexion = new mysqli($this->host, $this->usuario, $this->clave,$this->db) or die(mysql_error());
$this->conexion->set_charset("utf8");
}
Una vez declara las variables para la conexión creamos el objeto mysqli y asignamos el mantenimiento de caracteres latinos con utf8
En nuestro proyecto web debemos instanciarla de la siguiente manera:
// OPTIMIZANDO UNA CNX MYSQLI VERSION PHP 7 ó superior
include "db.php";
$user = new ApptivaDB();
//INSERTAR
public function insertar($tabla, $datos){
$resultado = $this->conexion->query("INSERT INTO $tabla VALUES (null,$datos)") or die($this->conexion->error);
if($resultado)
return true;
return false;
}
Este método toma 2 paramentos :
Si la consulta fue correcta en $resultado retornamos verdadero o true y false ocurrió un error inesperado.
La forma de usarlo es:
$u=$user->insertar("usuarios","'PAPA','JUAN PABLO','foto.jpg'");
if($u)
echo "Insertado";
else
echo "No insertado";
Llenamos los parámetros tabla y la cadena con todos los valores a insertar.
//BUSCAR
public function buscar($tabla, $condicion){
$resultado = $this->conexion->query("SELECT * FROM $tabla WHERE $condicion") or die($this->conexion->error);
if($resultado)
return $resultado->fetch_all(MYSQLI_ASSOC);
return false;
}
Al igual que el anterior método, este tiene dos parámetros la tabla y la condición, el objetivo de esta consulta es extraer todos los campos o valores de uno o varios registros que cumplan la condición.
Y si hay resultados retorna un array asociativo con todos los datos del registro; caso contrario si no hay resultados retorna false.
Lo usamos de la siguiente manera:
if($resultado=$user->buscar("usuarios","1"))
foreach ($resultado as $value)
echo $value['id']."-".$value['nombre']."<br>";
else
echo "No hay registros";
Con ello extraemos todos los registros de la tabla con el nombre de usuarios y mostramos sus valores recorriendo el array asociativo con foreach, y en caso contrario mostramos un mensaje "no hay registros."
public function actualizar($tabla, $campos, $condicion){
$resultado = $this->conexion->query("UPDATE $tabla SET $campos WHERE $condicion") or die($this->conexion->error);
if($resultado)
return true;
return false;
}
Actualizar o modificar datos de un registro en una tabla lo haremos usando la función actualizar, la cual recibe tres parámetros,
Se arma la consulta con las tres variables para editar los registros de una tabla de acuerdo a la condición. si se obtiene un resultado exitoso retornamos true, muestra que false si ocurre un error.
La forma de usarlo se resume:
$u=$user->actualizar("usuarios","nombre='ANAMARIA'","id=1");
if($u)
echo "Actualizado";
else
echo "No actualizado";
Enviamos los tres parámetros, lo que dice esta consulta es modificar la tabla usuarios en el campo nombre con el valor 'ANAMARIA' donde id=1, es decir solo va a afectar al registro que tenga el valor 1 en para el id. Si lo logra muestra actualizado, caso contrario muestra no actualizado.
public function borrar($tabla, $condicion){
$resultado = $this->conexion->query("DELETE FROM $tabla WHERE $condicion") or die($this->conexion->error);
if($resultado)
return true;
return false;
}
Este método permite eliminar registros de una tabla, tiene por entrada dos parámetros la tabla y la condición. Si la consulta fue exitosa, retornamos true, caso contrario false.
La forma de usar esta consulta es la siguiente:
$u=$user->borrar("usuarios","id=1");
if($u)
echo "Borrado";
else
echo "No borrado";
Llenamos los parametros donde tabla es usuarios y la condición es id=1, vemos que si logra borrar o eliminar el registro que cumpla la condición retorna true si es asi mostramos Borrado, caso contrario No borrado..
<?php
class ApptivaDB{
private $host ="localhost";
private $usuario="root";
private $clave ="";
private $db ="test";
public $conexion;
public function __construct(){
$this->conexion = new mysqli($this->host, $this->usuario, $this->clave,$this->db)
or die(mysql_error());
$this->conexion->set_charset("utf8");
}
//INSERTAR
public function insertar($tabla, $datos){
$resultado = $this->conexion->query("INSERT INTO $tabla VALUES (null,$datos)") or die($this->conexion->error);
if($resultado)
return true;
return false;
}
//BORRAR
public function borrar($tabla, $condicion){
$resultado = $this->conexion->query("DELETE FROM $tabla WHERE $condicion") or die($this->conexion->error);
if($resultado)
return true;
return false;
}
//ACTUALIZAR
public function actualizar($tabla, $campos, $condicion){
$resultado = $this->conexion->query("UPDATE $tabla SET $campos WHERE $condicion") or die($this->conexion->error);
if($resultado)
return true;
return false;
}
//BUSCAR
public function buscar($tabla, $condicion){
$resultado = $this->conexion->query("SELECT * FROM $tabla WHERE $condicion") or die($this->conexion->error);
if($resultado)
return $resultado->fetch_all(MYSQLI_ASSOC);
return false;
}
}
?>
Los métodos implementados son los básicos para gestionar una base de datos, pero podemos implementar más métodos que se adapten a nuestros proyectos, básicamente depende de la creatividad del desarrollador para obtener consultar eficientes.
Algunos métodos a programar pueden ser:
Leido 47430 veces | 3 usuarios
248 descargas
Para descargar el código crea una cuenta
Crear cuenta© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024