Pobierz aplikację teraz i przetestuj przez 10 dni za darmo
Waluta Wybierz język Wybierz region

Łączenie PHP i MySQL w CMS bluetronix

W tym samouczku stworzysz własną tabelę bazy danych i połączysz ją z stroną CMS. Na podstawie praktycznych przykładów poznasz polecenia SQL INSERT, REPLACE, SELECT i UPDATE oraz dowiesz się, jak przekazywać wartości bazy danych przez miejsca na tekst HTML na swojej stronie internetowej.

Utwórz stronę przykładową

Na początku tego samouczka utworzysz nową przykładową stronę.

Na przykład:

Przykład PHP MySQL

Strona może być na początku całkowicie pusta.

Następnie otwórz stronę w zwykłym edytorze HTML i wstaw dowolny fragment strony. Ten obszar HTML będzie później służył jako szablon dla danych ładowanych z bazy danych.

Stwórz tabelę bazy danych

Zanim będziesz mógł zapisać dane, potrzebujesz własnej tabeli bazy danych.

Aby to zrobić, otwórz:

Baza danych → Nowa tabela

Dla tego przykładu użyjemy tabeli z kolumnami ID, Data, Tytuł, Opis oraz Obraz.

ID zawiera unikalne ID rekordu. Data zapisuje datę i godzinę. Tytuł zawiera tytuł, Opis dłuższy tekst opisowy, a Obraz nazwę obrazu.

Nazwy tabel, kolumn i zmiennych powinny być zawsze używane w języku angielskim w ramach samouczków dla programistów.

Otwórz kod PHP

Po utworzeniu tabeli wrócisz do swojej przykładowej strony.

Otwórz tam:

Kod PHP

Z tego obszaru możesz bezpośrednio uzyskać dostęp do bazy danych.

Zapisz dane za pomocą INSERT lub REPLACE

W pierwszym przykładzie zapiszesz rekord w wcześniej utworzonej tabeli bazy danych.

Najpierw ustaw potrzebne zmienne PHP.

Przykład:

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

Możesz następnie zapisać te wartości za pomocą przygotowanego zapytania MySQL.

Do dostępu do bazy danych zawsze powinieneś używać przygotowanych zapytań. Dzięki temu wartości są przetwarzane oddzielnie od właściwego polecenia SQL.

Przykład z REPLACE:

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

Następnie otwórz stronę.

Otwórz potem:

Baza danych → Wyświetl

Powinien być tam widoczny nowo utworzony rekord.

Różnica między INSERT a REPLACE

INSERT dodaje nowy rekord.

Jeżeli rekord o tej samej unikalnej ID lub tym samym kluczu głównym już istnieje, zwykłe INSERT może spowodować błąd duplikatu klucza.

REPLACE może być używane, gdy istniejący rekord o tej samej unikalnej ID ma zostać zastąpiony.

Dla przykładów testowych z ustaloną ID REPLACE jest często praktyczniejsze, ponieważ stronę można wywołać wielokrotnie.

Odczytaj dane za pomocą SELECT

W następnym kroku odczytujesz zapisany rekord z bazy danych.

Przykład:

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

Odczytane wartości będą dostępne w zmiennych $Date, $Title, $Description i $Image.

Połącz bazę danych i $LayoutHTML

Globalna zmienna CMS $LayoutHTML zawiera podczas procesu renderowania aktualnie wygenerowane HTML strony.

Dzięki temu możesz zastępować własne placeholdery w kodzie HTML danymi z tabeli MySQL.

Ustaw miejsce na dane w kodzie HTML

Ponownie otwórz kod HTML swojej przykładowej strony.

Treści wcześniej dodanego sekcji strony możesz teraz zastąpić własnymi placeholderami.

Na przykład:

__MyDate__
__MyTitle__
__MyDescription__
__MyImage__

Uproszczony przykład HTML:

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

Dla tego pierwszego przykładu MySQL istniejące znaczniki tłumaczeń można na początku usunąć. Dzięki temu łatwiej będzie dostrzec, które treści są bezpośrednio zastępowane przez PHP i MySQL.

Wstaw wartości bazy danych do layoutu

Po załadowaniu danych za pomocą SELECT zastępujesz placeholdery w $LayoutHTML.

Przykład:

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

Przebieg jest następujący:

Baza danych MySQL → SELECT → Zmienne PHP → str_replace() → $LayoutHTML → gotowa strona internetowa

Treści bazy danych są wyświetlane bezpośrednio w istniejącym układzie HTML.

Testuj zmiany bezpośrednio w bazie danych

Otwórz:

Baza danych → Wyświetl

Następnie edytuj istniejący rekord.

Na przykład możesz zmienić tytuł z My Title na New My Title.

Możesz również zmienić obraz za pomocą odpowiedniego przycisku BX-Image.

Po zapisaniu i ponownym załadowaniu strony zmienione dane będą od razu wyświetlane w układzie strony.

Dzięki temu istnieje bezpośrednie połączenie między:

Baza danych → PHP → $LayoutHTML → Strona internetowa

Zmień dane za pomocą UPDATE

Za pomocą UPDATE możesz bezpośrednio zmienić istniejący rekord przez PHP.

W tym celu ustala się warunek, który rekord ma być zmieniony.

Po wykonaniu aktualizacji możesz ponownie wczytać dane za pomocą SELECT i następnie wyświetlić je na stronie za pomocą $LayoutHTML.

Podsumowanie

Za pomocą PHP i MySQL możesz przechowywać, odczytywać i zmieniać dane w systemie bluetronix CMS.

INSERT lub REPLACE zapisuje dane, SELECT odczytuje dane, a UPDATE zmienia istniejące rekordy.

Za pomocą $LayoutHTML możesz następnie bezpośrednio wstawić wczytane dane do istniejących struktur HTML.

Dzięki temu zawartość bazy danych można w łatwy sposób połączyć z układem HTML strony CMS.

FAQ

co klienci często nas pytają

Co potrzebuję do tego samouczka PHP i MySQL?

Potrzebujesz dostępu dewelopera do bluetronix CMS. Powinieneś również wiedzieć, jak działa proces renderowania stron CMS i jaka jest rola zmiennej $LayoutHTML.

Gdzie mogę utworzyć nową tabelę bazy danych?

Otwórz w CMS sekcję Baza danych → Nowa tabela.

Jakie kolumny są używane w przykładzie?

W samouczku są używane kolumny ID, Data, Tytuł, Opis i Obraz.

Dlaczego powinienem używać przygotowanych instrukcji?

Przygotowane instrukcje oddzielają przekazywane wartości od samego polecenia SQL i są przeznaczone do dostępu do bazy danych.

Jaka jest różnica między INSERT a REPLACE?

INSERT dodaje nowy rekord. REPLACE może zastąpić istniejący rekord o tej samej unikalnej ID lub tym samym kluczu podstawowym.

Jak odczytać dane z bazy danych?

Używasz polecenia SELECT. Załadowane wartości możesz następnie zapisać w zmiennych PHP, takich jak $Title, $Description lub $Image.

Jak dane MySQL trafiają do HTML strony?

Najpierw ustawiasz własne miejsca na dane w kodzie HTML, a następnie zastępujesz je za pomocą str_replace() wewnątrz $LayoutHTML załadowanymi wartościami z bazy danych.

Jak mogę sprawdzić, czy połączenie między bazą danych a stroną działa?

Otwórz Datenbank → Anzeigen, zmień istniejący rekord, a następnie załaduj stronę ponownie. Nowe wartości powinny pojawić się bezpośrednio w układzie strony.

Do czego służy UPDATE?

Za pomocą UPDATE możesz bezpośrednio zmienić już istniejący rekord za pomocą PHP.

Czy mogę używać obrazów z bazy danych w układzie strony?

Tak. W przykładzie wartość obrazu jest przechowywana w zmiennej $Image i używana przez własne miejsce na dane, takie jak __MyImage__, w $LayoutHTML.

CMS