Conectar PHP y MySQL en el CMS de bluetronix
En este tutorial crearás tu propia tabla de base de datos y la conectarás con una página de CMS. Aprenderás, a través de ejemplos prácticos, los comandos SQL INSERT, REPLACE, SELECT y UPDATE, y cómo mostrar valores de la base de datos a través de marcadores de posición HTML en tu sitio web.
Crear página de ejemplo
Para este tutorial, primero crearás una nueva página de ejemplo.
Por ejemplo:
Ejemplo de PHP MySQL
La página puede estar completamente vacía al principio.
Luego, abre la página en un editor HTML normal y añade cualquier sección de la página. Esta área HTML servirá más tarde como plantilla para los datos que se cargarán desde la base de datos.
Crear tabla de base de datos
Antes de poder guardar datos, necesitas una tabla de base de datos propia.
Para ello, abre:
Base de datos → Nueva tabla
Para este ejemplo, utilizaremos una tabla con las columnas ID, Fecha, Título, Descripción e Imagen.
ID contiene la ID única del registro. Fecha almacena la fecha y la hora. Título contiene el título, Descripción un texto descriptivo más largo y Imagen el nombre de la imagen.
Los nombres de tablas, columnas y variables deben utilizarse siempre en inglés dentro de los tutoriales para desarrolladores.
Abrir código PHP
Una vez creada la tabla, volverás a tu página de ejemplo.
Abre allí:
Código PHP
Desde esta área, puedes acceder directamente a la base de datos.
Guardar datos con INSERT o REPLACE
En el primer ejemplo, guardarás un registro en la tabla de base de datos creada previamente.
Para ello, primero establece las variables PHP necesarias.
Ejemplo:
$ID = 1;
$Date = date("Y-m-d H:i:s");
$Title = "My Title";
$Description = "My Description";
$Image = "my-image.jpg";
Luego puedes guardar estos valores con una declaración preparada de MySQL.
Para el acceso a la base de datos, debes utilizar siempre declaraciones preparadas. De este modo, los valores se procesan separados del comando SQL real.
Ejemplo con REPLACE:
$stmt = $mysqli->prepare("REPLACE INTO ExampleTable (ID, `Date`, Title, Description, Image) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("issss", $ID, $Date, $Title, $Description, $Image);
$stmt->execute();

Luego, llama a la página una vez.
Después abre:
Base de datos → Mostrar
Ahí debería verse el nuevo registro creado.
Diferencia entre INSERT y REPLACE
INSERT añade un nuevo registro.
Si ya existe un registro con la misma ID única o la misma clave primaria, una declaración normal de INSERT puede causar un error de clave duplicada.
REPLACE se puede usar cuando se quiere reemplazar un registro existente con la misma ID única.
Por lo tanto, para ejemplos de prueba con una ID fija, REPLACE es a menudo más práctico, ya que se puede llamar a la página varias veces.
Leer datos con SELECT
En el siguiente paso, vuelves a leer el registro guardado de la base de datos.
Ejemplo:
$stmt = $mysqli->prepare("SELECT `Date`, Title, Description, Image FROM ExampleTable WHERE ID = ?");
$stmt->bind_param("i", $ID);
$stmt->execute();
$result = $stmt->get_result();
if($row = $result->fetch_assoc()) {
$Date = $row["Date"];
$Title = $row["Title"];
$Description = $row["Description"];
$Image = $row["Image"];
}
Los valores leídos estarán después en las variables $Date, $Title, $Description y $Image.
Conectar la base de datos y $LayoutHTML
La variable global del CMS $LayoutHTML contiene el HTML generado actualmente de la página durante el proceso de renderizado.
De este modo, puedes reemplazar tus propios marcadores dentro del código HTML con datos de la tabla MySQL.
Colocar marcadores de posición en el código HTML
Vuelve a abrir el código HTML de tu página de ejemplo.
Los contenidos de la sección de página previamente insertada ahora puedes reemplazarlos con tus propios marcadores.
Por ejemplo:
__MyDate__
__MyTitle__
__MyDescription__
__MyImage__
Un ejemplo de HTML simplificado:
<section>
<div class="container">
<img src="__MyImage__" alt="">
<small>__MyDate__</small>
<h2>__MyTitle__</h2>
<p>__MyDescription__</p>
</div>
</section>

Para este primer ejemplo de MySQL, se pueden eliminar inicialmente las marcas de traducción existentes. Esto facilita reconocer qué contenidos son reemplazados directamente por PHP y MySQL.
Insertar valores de la base de datos en el diseño
Después de cargar los datos con SELECT, reemplazas los marcadores dentro de $LayoutHTML.
Ejemplo:
$LayoutHTML = str_replace("__MyDate__",$Date,$LayoutHTML);
$LayoutHTML = str_replace("__MyTitle__",$Title,$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__",$Description,$LayoutHTML);
$LayoutHTML = str_replace("__MyImage__",$Image,$LayoutHTML);
El flujo es el siguiente:
Base de datos MySQL → SELECT → Variables PHP → str_replace() → $LayoutHTML → página web final

De este modo, los contenidos de la base de datos se muestran directamente dentro del diseño HTML existente.
Probar cambios directamente a través de la base de datos
Abre:
Base de datos → Mostrar
Luego edita el registro existente.
Por ejemplo, puedes cambiar el título de My Title a New My Title.
También puedes cambiar la imagen a través del correspondiente BX-Image-Button.
Después de guardar y recargar la página, los datos modificados se mostrarán directamente en el diseño de la página.
Así se establece una conexión directa entre:
Base de datos → PHP → $LayoutHTML → Página web
Modificar datos con UPDATE
Con UPDATE puedes modificar un registro existente directamente a través de PHP.
A través de una condición se define qué registro debe ser modificado.
Después de ejecutar la actualización, puedes cargar los datos nuevamente con SELECT y luego mostrarlos en tu página a través de $LayoutHTML.
Resumen
Con PHP y MySQL puedes almacenar, leer y modificar datos dentro del CMS bluetronix.
INSERT o REPLACE almacenan datos, SELECT lee datos y UPDATE modifica registros existentes.
A través de $LayoutHTML puedes insertar los datos cargados directamente en las estructuras HTML existentes.
Esto permite conectar limpiamente el contenido de la base de datos con el diseño HTML de una página del CMS.
Preguntas Frecuentes
lo que los clientes nos preguntan con frecuencia
¿Qué necesito para este tutorial de PHP y MySQL?
Necesitas acceso de desarrollador al CMS bluetronix. Además, deberías saber cómo funciona el proceso de renderizado de páginas del CMS y cuál es la función de la variable $LayoutHTML.
¿Dónde creo una nueva tabla de base de datos?
Abre en el CMS la sección Base de datos → Nueva tabla.
¿Qué columnas se utilizan en el ejemplo?
En el tutorial se utilizan las columnas ID, Date, Title, Description e Image.
¿Por qué debería usar declaraciones preparadas?
Las declaraciones preparadas separan los valores pasados del comando SQL real y son, por lo tanto, adecuadas para accesos a la base de datos.
¿Cuál es la diferencia entre INSERT y REPLACE?
INSERT agrega un nuevo registro. REPLACE puede sustituir un registro existente con la misma ID única o clave primaria.
¿Cómo leo datos de la base de datos?
Para ello utilizas un comando SELECT. Los valores cargados los puedes almacenar luego, por ejemplo, en variables PHP como $Title, $Description o $Image.
¿Cómo se trasladan los datos de MySQL al HTML de la página?
Primero, defines tus propios marcadores en el código HTML y luego los reemplazas con str_replace() dentro de $LayoutHTML por los valores de la base de datos que cargaste.
¿Cómo puedo verificar si la conexión entre la base de datos y la página web funciona?
Abre Base de datos → Ver, modifica un registro existente y luego vuelve a cargar la página web. Los nuevos valores deberían aparecer directamente en el diseño de la página.
¿Para qué se utiliza UPDATE?
Con UPDATE puedes modificar directamente un registro existente a través de PHP.
¿Puedo utilizar imágenes de la base de datos también en el diseño de la página?
Sí. En el ejemplo, el valor de la imagen se almacena en la variable $Image y se usa en $LayoutHTML a través de un marcador propio como __MyImage__.