Lataa sovellus nyt ja kokeile 10 päivää ilmaiseksi
Valuutta Valitse kieli Valitse alue

PHP ja MySQL bluetronix CMS:ssä yhdistäminen

Tässä oppaassa luot oman tietokantataulun ja yhdistät sen CMS-sivuun. Käytännön esimerkkien avulla opit SQL-komennot INSERT, REPLACE, SELECT ja UPDATE sekä saat tietää, kuinka näytät tietokanta-arvot HTML-paikkamerkkien kautta verkkosivustollasi.

Esimerkkisivun luominen

Tässä oppaassa aloitat ensin luomalla uuden esimerkkisivun.

Esimerkiksi:

PHP MySQL Esimerkki

Sivu voi aluksi olla täysin tyhjää.

Avaa sivu sen jälkeen normaalissa HTML-editorissa ja lisää haluamasi osio. Tämä HTML-alue toimii myöhemmin mallina tiedoille, jotka ladataan tietokannasta.

Tietokantataulun luominen

Ennen kuin voit tallentaa tietoja, tarvitset oman tietokantataulun.

Avaa tämä varten:

Tietokanta → Uusi taulu

Tässä esimerkissä käytämme taulua, jossa on sarakkeet ID, Päivämäärä, Otsikko, Kuvaus ja Kuva.

ID sisältää tietueen ainutlaatuisen ID:n. Päivämäärä tallentaa päivämäärän ja ajan. Otsikko sisältää otsikon, Kuvaus pidemmän kuvaustekstin ja Kuva kuvan nimen.

Taulukoiden, sarakkeiden ja muuttujien nimet tulisi aina käyttää englanniksi kehittäjäoppaan sisällä.

Avaa PHP-koodi

Kun taulu on luotu, palaat takaisin esimerkkisivullesi.

Avaa siellä:

PHP-koodi

Tämän alueen kautta voit suoraan käyttää tietokantaa.

Tallenna tiedot INSERT- tai REPLACE-komennolla

Ensimmäisessä esimerkissä tallennat tietueen aiemmin luotuun tietokantatauluun.

Aloita asettamalla tarvittavat PHP-muuttujat.

Esimerkki:

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

Nämä arvot voit tallentaa myöhemmin MySQL Prepared Statementilla.

Tietokantayhteyksissä tulisi aina käyttää Prepared Statementeja. Näin arvot käsitellään erillään varsinaisesta SQL-komennosta.

Esimerkki REPLACE:llä:

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

Käynnistä sivu sen jälkeen kerran.

Avaa sitten:

Tietokanta → Näytä

Siellä uuden luodun tietueen pitäisi olla näkyvissä.

Ero INSERTin ja REPLACE:n välillä

INSERT lisää uuden tietueen.

Jos tietue, jolla on sama yksilöivä ID tai sama pääavain, jo olemassa, voi normaali INSERT aiheuttaa Duplicate-Key-virheen.

REPLACE voidaan käyttää, jos olemassa oleva tietue, jossa on sama yksilöivä ID, halutaan korvata.

Kiinteällä ID:llä testiesimerkkejä varten REPLACE on siksi usein käytännöllisempi, koska sivua voidaan kutsua useita kertoja.

Lue tiedot SELECT-komennolla

Seuraavassa vaiheessa luet tallennetun tietueen takaisin tietokannasta.

Esimerkki:

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

Luetut arvot löytyvät sitten muuttujista $Date, $Title, $Description ja $Image.

Yhdistä tietokanta ja $LayoutHTML

Globaalimuuttuja $LayoutHTML sisältää renderöintiprosessin aikana luodun HTML:n sivusta.

Näin voit korvata omat paikkamerkit HTML-koodissa tiedoilla MySQL-taulukosta.

Aseta paikkamerkit HTML-koodiin

Avaa jälleen esimerkkisivusi HTML-koodi.

Voit nyt korvata aikaisemmin lisätyn sivuosion sisällöt omilla paikkamerkeilläsi.

Esimerkiksi:

__MyDate__
__MyTitle__
__MyDescription__
__MyImage__

Yksinkertaistettu HTML-esimerkki:

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

Tässä ensimmäisessä MySQL-esimerkissä voit aluksi poistaa olemassa olevat käännösmerkit. Näin on helpompi nähdä, mitkä sisällöt korvataan suoraan PHP:llä ja MySQL:llä.

Käytä tietokannan arvoja ulkoasussa

Kun tiedot on ladattu SELECT -komennolla, korvaat paikkamerkit $LayoutHTML -muuttujassa.

Esimerkki:

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

Prosessi etenee näin:

MySQL-tietokanta → SELECT → PHP-muuttujat → str_replace() → $LayoutHTML → valmis verkkosivusto

Tietokannan sisällöt näytetään näin suoraan olemassa olevassa HTML-muotoilussa.

Testaa muutoksia suoraan tietokannan kautta

Avaa:

Tietokanta → Näytä

Muokkaa sitten olemassa olevaa tietuetta.

Esimerkiksi voit muuttaa My Title otsikon muotoon New My Title.

Myös kuvan voit vaihtaa vastaavan BX-Image-Button kautta.

Tallentamisen ja verkkosivun uudelleenlataamisen jälkeen muutetut tiedot näkyvät suoraan sivun kasvatuksessa.

Näin ollen on suora yhteys seuraavien välillä:

Tietokanta → PHP → $LayoutHTML → Verkkosivusto

Muuta tietoja UPDATE-komennolla

UPDATE komennolla voit muuttaa olemassa olevaa tietuetta suoraan PHP:llä.

Tätä varten määritellään ehto, mikä tietue tulee muuttaa.

Päivityksen suorittamisen jälkeen voit ladata tiedot uudelleen SELECT:lla ja näyttää ne sitten sivullasi $LayoutHTML kautta.

Yhteenveto

PHP:n ja MySQL:n avulla voit tallentaa, lukea ja muuttaa tietoja bluetronix CMS:ssä.

INSERT tai REPLACE tallentavat tietoja, SELECT lukee tietoja ja UPDATE muuttaa olemassa olevia tietueita.

Bettävän $LayoutHTML:n avulla voit liittää ladatut tiedot suoraan olemassa oleviin HTML-rakenteisiin.

Tällä tavoin tietokannan sisältö voidaan puhtain keinoin yhdistää CMS-sivun HTML-rakenteeseen.

UKK

mitä asiakkaat meiltä usein kysyvät

Mitä tarvitsen tähän PHP- ja MySQL-oppaaseen?

Tarvitset kehittäjäoikeudet bluetronix CMS:ään. Lisäksi sinun tulisi jo tietää, miten CMS-sivun renderöintiprosessi toimii ja mikä rooli muuttujalla $LayoutHTML on.

Missä luon uuden tietokantataulun?

Avaa CMS:ssä osa Tietokanta → Uusi taulu.

Mitä sarakkeita käytetään esimerkissä?

Oppaassa käytetään sarakkeita ID, Date, Title, Description ja Image.

Miksi minun pitäisi käyttää Prepared Statements?

Prepared Statements erottavat toimitetut arvot varsinaisesta SQL-komennosta, ja siksi ne on tarkoitettu tietokantakäynteihin.

Mikä on ero INSERT:in ja REPLACE:in välillä?

INSERT lisää uuden tietueen. REPLACE voi korvata olemassa olevan tietueen, jolla on sama yksilöllinen ID tai sama ensisijainen avain.

Miten luen tietoja tietokannasta?

Tätä varten käytät SELECT-komentoa. Ladattuja arvoja voit myöhemmin tallentaa esimerkiksi PHP-muuttujissa, kuten $Title, $Description tai $Image.

Miten MySQL-tiedot päätyvät sivun HTML:ään?

Asetat aluksi omat paikka-varaimesi HTML-koodissa ja korvaat nämä sitten str_replace():n avulla $LayoutHTML:ssa ladatuilla tietokanta-arvoilla.

Miten voin tarkistaa, toimiiko yhteys tietokannan ja verkkosivuston välillä?

Avaa Tietokanta → Näytä, muokkaa olemassa olevaa tietuetta ja lataa sitten verkkosivusto uudelleen. Uudet arvot pitäisi silloin näkyä suoraan sivun ulkoasussa.

Mihin UPDATE:ta käytetään?

UPDATE:lla voit muuttaa jo olemassa olevaa tietuetta suoraan PHP:n kautta.

Voinko käyttää tietokannasta ladattuja kuvia myös sivun ulkoasussa?

Kyllä. Esimerkissä kuvalujuus tallennetaan muuttujaan $Image ja sijoitetaan omaan paikka-varaimeen kuten __MyImage__ $LayoutHTML:ssa.

CMS