Téléchargez l'application maintenant et testez-la gratuitement pendant 10 jours
Devise Choisir la langue Sélectionner une région

Connecter PHP et MySQL dans le CMS bluetronix

Dans ce tutoriel, vous créerez votre propre table de base de données et la connecterez à une page CMS. À travers des exemples pratiques, vous découvrirez les commandes SQL INSERT, REPLACE, SELECT et UPDATE, et apprendrez comment afficher des valeurs de base de données sur votre site Web via des espaces réservés HTML.

Créer une page d'exemple

Pour ce tutoriel, commence par créer une nouvelle page d'exemple.

Par exemple :

Exemple PHP MySQL

La page peut d'abord être complètement vide.

Ouvre ensuite la page dans un éditeur HTML normal et ajoute une section de page quelconque. Cette zone HTML servira plus tard de modèle pour les données chargées depuis la base de données.

Créer une table de base de données

Avant de pouvoir enregistrer des données, tu as besoin d'une table de base de données.

Ouvre pour cela :

Base de données → Nouvelle table

Pour cet exemple, nous utiliserons une table avec les colonnes ID, Date, Titre, Description et Image.

ID contient l'ID unique de l'enregistrement. Date enregistre la date et l'heure. Titre contient le titre, Description un texte descriptif plus long et Image le nom de l'image.

Les noms de tables, de colonnes et de variables doivent toujours être utilisés en anglais dans les tutoriels pour les développeurs.

Ouvrir le code PHP

Après la création de la table, retourne à ta page d'exemple.

Ouvre là :

Code PHP

À partir de cette zone, tu peux accéder directement à la base de données.

Enregistrer des données avec INSERT ou REPLACE

Dans le premier exemple, tu vas enregistrer un enregistrement dans la table de base de données créée précédemment.

Commence par définir les variables PHP nécessaires.

Exemple :

$ID = 1;
$Date = date("Y-m-d H:i:s");
$Title = "My Title";
$Description = "My Description";
$Image = "my-image.jpg";

Tu peux ensuite sauvegarder ces valeurs avec une instruction préparée MySQL.

Pour les accès à la base de données, tu devrais toujours utiliser des instructions préparées. Cela permet de traiter les valeurs séparément de la commande SQL elle-même.

Exemple avec REPLACE :

$stmt = $mysqli->prepare("REPLACE INTO ExampleTable (ID, `Date`, Title, Description, Image) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("issss", $ID, $Date, $Title, $Description, $Image);
$stmt->execute();

Appelle ensuite la page une fois.

Ouvre ensuite :

Base de données → Afficher

L'enregistrement nouvellement créé devrait être visible ici.

Différence entre INSERT et REPLACE

INSERT ajoute un nouvel enregistrement.

S'il existe déjà un enregistrement avec la même ID unique ou la même clé primaire, un INSERT normal peut provoquer une erreur de clé dupliquée.

REPLACE peut être utilisé lorsqu'un enregistrement existant avec la même ID unique doit être remplacé.

Pour des exemples de test avec une ID fixe, REPLACE est donc souvent plus pratique, car la page peut être appelée plusieurs fois.

Lire des données avec SELECT

À l'étape suivante, tu lis à nouveau l'enregistrement sauvegardé à partir de la base de données.

Exemple :

$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"];
}

Les valeurs récupérées se trouvent ensuite dans les variables $Date, $Title, $Description et $Image.

Connecter la base de données et $LayoutHTML

La variable globale CMS $LayoutHTML contient le HTML actuel généré de la page pendant le processus de rendu.

Ainsi, tu peux remplacer tes propres marqueurs dans le code HTML par des données de la table MySQL.

Définir des espaces réservés dans le code HTML

Ouvre à nouveau le code HTML de ta page d'exemple.

Tu peux maintenant remplacer le contenu de la section de page insérée précédemment par tes propres marqueurs.

Par exemple :

__MyDate__
__MyTitle__
__MyDescription__
__MyImage__

Un exemple HTML simplifié :

<section>
   <div class="container">
      <img src="__MyImage__" alt="">
      <small>__MyDate__</small>
      <h2>__MyTitle__</h2>
      <p>__MyDescription__</p>
   </div>
</section>

Pour ce premier exemple MySQL, les marqueurs de traduction existants peuvent d'abord être supprimés. Cela permet de mieux voir quels contenus sont directement remplacés par PHP et MySQL.

Insérer des valeurs de base de données dans la mise en page

Après que les données ont été chargées avec SELECT, tu remplaces les marqueurs à l'intérieur de $LayoutHTML.

Exemple :

$LayoutHTML = str_replace("__MyDate__",$Date,$LayoutHTML);
$LayoutHTML = str_replace("__MyTitle__",$Title,$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__",$Description,$LayoutHTML);
$LayoutHTML = str_replace("__MyImage__",$Image,$LayoutHTML);

Le processus est donc le suivant :

Base de données MySQL → SELECT → Variables PHP → str_replace() → $LayoutHTML → page web finie

Les contenus de la base de données sont ainsi affichés directement dans la mise en page HTML existante.

Tester les modifications directement via la base de données

Ouvre :

Base de données → Afficher

Modifiez ensuite l'enregistrement existant.

Par exemple, vous pouvez changer le titre de Mon Titre en Nouveau Mon Titre.

Vous pouvez également changer l'image via le bouton correspondant BX-Image-Button.

Après l'enregistrement et le rechargement de la page, les données modifiées seront directement affichées dans la mise en page de la page.

Il existe donc une connexion directe entre :

Base de données → PHP → $LayoutHTML → Page Web

Modifier des données avec UPDATE

Avec UPDATE, vous pouvez modifier directement un enregistrement existant via PHP.

Une condition est définie pour déterminer quel enregistrement doit être modifié.

Après avoir exécuté la mise à jour, vous pouvez recharger les données avec SELECT et ensuite les afficher sur votre page via $LayoutHTML.

Résumé

Avec PHP et MySQL, vous pouvez stocker, lire et modifier des données dans le CMS bluetronix.

INSERT ou REPLACE stockent des données, SELECT lit les données et UPDATE modifie les enregistrements existants.

Via $LayoutHTML, vous pouvez ensuite insérer les données chargées directement dans des structures HTML existantes.

Cela permet de relier proprement le contenu de la base de données à la mise en page HTML d'une page CMS.

FAQ

ce que nos clients nous demandent souvent

De quoi ai-je besoin pour ce tutoriel PHP et MySQL ?

Vous aurez besoin d'un accès développeur au CMS bluetronix. De plus, vous devriez déjà savoir comment fonctionne le processus de rendu de site CMS et quelle est la fonction de la variable $LayoutHTML.

Où puis-je créer une nouvelle table de base de données ?

Ouvrez dans le CMS la section Base de données → Nouvelle Table.

Quelles colonnes sont utilisées dans l'exemple ?

Dans le tutoriel, les colonnes ID, Date, Titre, Description et Image sont utilisées.

Pourquoi devrais-je utiliser des instructions préparées ?

Les instructions préparées séparent les valeurs transmises de la commande SQL proprement dite et sont donc destinées aux accès à la base de données.

Quelle est la différence entre INSERT et REPLACE ?

INSERT ajoute un nouvel enregistrement. REPLACE peut remplacer un enregistrement existant avec la même ID unique ou la même clé primaire.

Comment lire des données de la base de données ?

Pour cela, vous utilisez une commande SELECT. Vous pouvez ensuite stocker les valeurs chargées dans des variables PHP telles que $Title, $Description ou $Image.

Comment les données MySQL arrivent-elles dans le HTML de la page ?

Vous placez d'abord des espaces réservés dans le code HTML et les remplacez ensuite par str_replace() à l'intérieur de $LayoutHTML par les valeurs de la base de données chargées.

Comment puis-je vérifier si la connexion entre la base de données et le site web fonctionne ?

Ouvrez Base de données → Afficher, modifiez un enregistrement existant, puis rechargez à nouveau la page. Les nouvelles valeurs devraient apparaître directement dans la mise en page de la page.

À quoi sert UPDATE ?

Avec UPDATE, vous pouvez modifier directement un enregistrement existant via PHP.

Puis-je également utiliser des images de la base de données dans la mise en page de la page ?

Oui. Dans l'exemple, la valeur de l'image est stockée dans la variable $Image et utilisée via un espace réservé comme __MyImage__ dans $LayoutHTML.

CMS