Töltsd le az appot most és teszteld ingyen 10 napig
Pénznem Nyelv kiválasztása Válasszon régiót

PHP és MySQL kapcsolódás a bluetronix CMS-ben

Ebben a tutorialban saját adatbázistáblát hozol létre, és összekapcsolod egy CMS-oldallal. Gyakorlati példákon keresztül ismerkedsz meg az SQL-parancsokkal, mint az INSERT, REPLACE, SELECT és UPDATE, és megtudod, hogyan jelenítesz meg adatbázis-értékeket HTML-helyettesítők segítségével a weboldaladon.

Példaoldal létrehozása

Ehhez a bemutatóhoz először hozz létre egy új példaoldalt.

Például:

PHP MySQL Példa

Az oldal kezdetben teljesen üres lehet.

Ezután nyisd meg az oldalt egy normál HTML-szerkesztőben, és adj hozzá egy tetszőleges oldalrészt. Ez a HTML-rész később sablonként szolgál az adatbázisból betöltött adatokhoz.

Adatbázistábla létrehozása

Adatok mentéséhez szükséged van egy saját adatbázistáblára.

Ehhez nyisd meg:

Adatbázis → Új tábla

Ehhez a példához egy ID, Dátum, Cím, Leírás és Kép oszlopokat tartalmazó táblát használunk.

ID tartalmazza a rekord egyedi azonosítóját. Dátum tárolja a dátumot és időt. Cím tartalmazza a címet, Leírás egy hosszabb leíró szöveget, Kép pedig a kép nevét.

A táblák, oszlopok és változónevek mindig angol nyelven legyenek a fejlesztői útmutatókban.

PHP-kód megnyitása

Miután a tábla létrejött, térj vissza a példaoldaladra.

Ott nyisd meg:

PHP Kód

Ebből a területből közvetlenül hozzáférhetsz az adatbázishoz.

Adatok mentése INSERT vagy REPLACE segítségével

Az első példában egy rekordot mentesz a korábban létrehozott adatbázistáblába.

Ehhez először állítsd be a szükséges PHP-változókat.

Példa:

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

Ezeket az értékeket később egy MySQL Prepared Statement segítségével tárolhatod.

Adatbázis-hozzáféréshez alapvetően mindig Prepared Statement-eket kell használni. Így az értékek elkülönítve, a tényleges SQL-parancstól függetlenül kerülnek feldolgozásra.

Példa REPLACE használatára:

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

Ezután egyszer meg kell nyitnod az oldalt.

Ezután nyisd meg:

Adatbázis → Megjelenítés

Itt láthatónak kell lennie az újonnan létrehozott adatbázis-bejegyzésnek.

Különbség az INSERT és a REPLACE között

INSERT egy új adatbejegyzést ad hozzá.

Ha már létezik egy bejegyzés ugyanazzal az egyedi azonosítóval vagy elsődleges kulccsal, egy normális INSERT duplikált kulcs hibát okozhat.

REPLACE használható, ha egy meglévő bejegyzést szeretnél ugyanazzal az egyedi azonosítóval helyettesíteni.

Tesztpéldákhoz, ahol meghatározott azonosítóval dolgozunk, REPLACE gyakran praktikusabb, mivel az oldal többször is megnyitható.

Adatok kiolvasása SELECT-tel

A következő lépésben olvasd ki a tárolt bejegyzést az adatbázisból.

Példa:

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

Az olvasott értékek ezután a $Date, $Title, $Description és $Image változókban találhatók.

Kapcsolódás az adatbázishoz és a $LayoutHTML-hez

A globális CMS-változó $LayoutHTML tartalmazza a renderelési folyamat során létrehozott HTML-t az oldalon.

Ezáltal saját helyettesítőket helyezhetsz el az HTML kódban a MySQL táblázatból származó adatokkal.

Jelölők beállítása a HTML-kódban

Ismét nyisd meg a példaoldalad HTML kódját.

Az előzőleg beillesztett oldalrész tartalmát most saját helyettesítőkkel helyettesítheted.

Például:

__MyDate__
__MyTitle__
__MyDescription__
__MyImage__

Egy leegyszerűsített HTML példa:

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

Ezen első MySQL példa esetében a meglévő fordítási címkéket először el lehet távolítani. Így könnyebben felismerhetők azok a tartalmak, amelyeket közvetlenül PHP és MySQL helyettesít.

Adatbázis értékek beillesztése a sablonba

Miután az adatok SELECT segítségével betöltődtek, a helyettesítőket cseréld le a $LayoutHTML belsejében.

Példa:

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

A folyamat így néz ki:

MySQL-adatbázis → SELECT → PHP-változók → str_replace() → $LayoutHTML → kész weboldal

Az adatbázis tartalma így közvetlenül megjelenik a meglévő HTML-elrendezésben.

Változtatások közvetlen tesztelése az adatbázison keresztül

Nyisd meg:

Adatbázis → Megjelenítés

Ezután szerkeszd a meglévő adatbejegyzést.

Például megváltoztathatod a My Title címet New My Title-ra.

A képet is megváltoztathatod a megfelelő BX-Image-Button segítségével.

A weboldal mentése és újratöltése után a módosított adatok közvetlenül az oldal elrendezésében jelennek meg.

Ezáltal közvetlen kapcsolat létesül a következők között:

Adatbázis → PHP → $LayoutHTML → Weboldal

Adatok módosítása UPDATE segítségével

A UPDATE segítségével a már meglévő adatbejegyzést közvetlenül PHP-n keresztül módosíthatod.

Ehhez egy feltétel határozza meg, hogy melyik adatbejegyzést kell módosítani.

A frissítés végrehajtása után az adatokat újra betöltheted SELECT segítségével, majd a $LayoutHTML átmunka után megjelenítheted az oldaladon.

Összefoglalás

PHP és MySQL segítségével adatokat tárolhatsz, olvashatsz ki és módosíthatsz a bluetronix CMS-ben.

A INSERT vagy REPLACE adatokat tárol, a SELECT adatokat olvas ki, a UPDATE pedig meglévő adatbejegyzéseket módosít.

A $LayoutHTML segítségével a betöltött adatokat közvetlenül beillesztheted a meglévő HTML-struktúrákba.

Ezáltal az adatbázis tartalmai tisztán kapcsolhatók a CMS-oldal HTML-elrendezésével.

GYIK

Miket kérdeznek tőlünk gyakran az ügyfelek?

Mire van szükségem ehhez a PHP- és MySQL-tutorialhoz?

Fejlesztői hozzáférésre van szükséged a bluetronix CMS-hez. Ezen kívül tudnod kell, hogyan működik a CMS-honlap renderelési folyamata, és mi a $LayoutHTML változó feladata.

Hol hozhatok létre új adatbázistáblát?

Nyisd meg a CMS-ben a Adatbázis → Új tábla részt.

Milyen oszlopokat használnak a példában?

A tutorial során az ID, a Date, a Title, a Description és az Image oszlopokat használják.

Miért érdemes Prepared Statements-t használni?

A Prepared Statements elválasztja az átadott értékeket a tényleges SQL-parancstól, ezért az adatbázis-hozzáférésekhez van tervezve.

Mi a különbség az INSERT és a REPLACE között?

Az INSERT új adatbejegyzést ad hozzá. A REPLACE egy meglévő adatbejegyzést tud helyettesíteni ugyanazzal a egyedi ID-val vagy elsődleges kulccsal.

Hogyan olvasom ki az adatokat az adatbázisból?

Ehhez használj egy SELECT-parancsot. A betöltött értékeket például PHP-változókban, mint például $Title, $Description vagy $Image, tárolhatod.

Hogyan jutnak a MySQL adatok az oldal HTML-jébe?

Először saját helyőrzőket helyezel el a HTML-kódban, majd azokat a $LayoutHTML-ben a str_replace() segítségével a betöltött adatbázis értékekkel cseréled le.

Hogyan ellenőrizhetem, hogy a kapcsolat az adatbázis és a weboldal között működik?

Nyisd meg a Databázis → Megjelenítés menüpontot, módosíts egy meglévő rekordot, majd töltsd újra az oldalt. Az új értékeknek közvetlenül meg kell jelenniük az oldal elrendezésében.

Mire használják az UPDATE-et?

Az UPDATE segítségével közvetlenül, PHP-n keresztül módosíthatsz egy már meglévő rekordot.

Használhatok képeket az adatbázisból is az oldal elrendezésében?

Igen. A példában a kép értékét a $Image változóban tároljuk, és egy saját helyőrző, például __MyImage__ segítségével illesztjük be a $LayoutHTML-be.

CMS