Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Szybko zbuduj interfejs PHP CRUD za pomocą zaawansowanego narzędzia generatora CRUD PDO

W tym samouczku przyjrzymy się PDO CRUD — narzędziu do tworzenia formularzy i zarządzania bazą danych. PDO CRUD pomaga tworzyć formularze dla tabel bazy danych za pomocą zaledwie kilku linijek kodu, dzięki czemu uruchamianie aplikacji bazy danych jest szybkie i łatwe.

Dostępnych jest wiele rozszerzeń do abstrakcji baz danych, a konkretnie do generowania CRUD (tworzenie, odczytywanie, aktualizowanie i usuwanie) dla PHP i MySQL. Oczywiście znajdziesz również opcje komercyjne, które zapewniają gotowe do użycia funkcje i rozszerzone wsparcie. W przypadku opcji komercyjnych możesz również spodziewać się wysokiej jakości kodu, poprawek błędów i nowych ulepszeń.

Dzisiaj omówimy narzędzie PDO CRUD, dostępne w CodeCanyon w bardzo rozsądnej cenie. Jest to kompletne narzędzie do tworzenia CRUD, które pozwala tworzyć aplikacje po prostu dostarczając tabele bazy danych i pisząc kilka linijek kodu.

Działa z wieloma zaplecza bazy danych, w tym MySQL, Postgres i SQLite. W tym zaawansowanym samouczku PHP CRUD zobaczymy, jak wykorzystać PDO CRUD do zbudowania systemu CRUD z zapleczem bazy danych MySQL.

Uwaga:jeśli chcesz uzyskać dostęp do hacer un CRUD pl PHP i MySQL, od teraz .

Instalacja i konfiguracja

W tej sekcji zobaczymy, jak zainstalować i skonfigurować narzędzie PDO CRUD po zakupie i pobraniu go z CodeCanyon.

Jak tylko go kupisz, będziesz mógł pobrać plik zip. Wypakuj go, a znajdziesz katalog z głównym kodem wtyczki:PDOCrud/script . Skopiuj ten katalog do swojej aplikacji PHP.

Na przykład, jeśli Twój projekt jest skonfigurowany w /web/demo-app/public_html , należy skopiować katalog skryptów do /web/demo-app/public_html/script .

Następnie musisz wprowadzić dane zaplecza bazy danych w pliku konfiguracyjnym. Plik konfiguracyjny znajduje się pod adresem /web/demo-app/public_html/script/config/config.php . Otwórz ten plik w swoim ulubionym edytorze tekstu i zmień następujące szczegóły w tym pliku.

$config["script_url"] = "https://my-demo-app";
/************************ database ************************/
//Set the host name to connect for database
$config["hostname"] =  "localhost";
//Set the database name
$config["database"] = "demo_app_db";
//Set the username for database access
$config["username"] = "demo_app";
//Set the pwd for the database user
$config["password"] = "demo_app";
//Set the database type to be used
$config["dbtype"] = "mysql"

Jak widać, szczegóły nie wymagają wyjaśnień. $config["script_url"] jest ustawiony na adres URL, z którego korzystasz, aby uzyskać dostęp do swojej witryny.

Po zapisaniu szczegółów bazy danych jesteś gotowy do korzystania z narzędzia PDO CRUD. W naszym przykładzie utworzymy dwie tabele MySQL, które przechowują dane pracowników i działów.

  • pracownicy :przechowuje informacje o pracownikach
  • oddział :przechowuje informacje o dziale

Otwórz narzędzie do zarządzania bazą danych i uruchom następujące polecenia, aby utworzyć tabele, jak właśnie omówiliśmy powyżej. Używam phpMyAdmin do pracy z zapleczem bazy danych MySQL.

Najpierw utwórzmy tabelę działów.

CREATE TABLE `department` (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `department_name` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Następnie utworzymy tabelę pracowników.

CREATE TABLE `employee` (
  `id` int(12) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `dept_id` int(11) UNSIGNED NOT NULL,
  `first_name` varchar(255) NOT NULL DEFAULT '',
  `last_name` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `phone` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Jak widać, użyliśmy dept_id kolumny w tabeli pracowników, która zawiera identyfikator odpowiedniego działu przechowywany w tabeli działów.

Po utworzeniu tabel w bazie danych jesteśmy gotowi do zbudowania interfejsu aplikacji CRUD za pomocą narzędzia PDO CRUD!

Jak skonfigurować podstawowe CRUD

W tej sekcji zobaczymy, jak skonfigurować podstawowy interfejs CRUD za pomocą narzędzia PDO CRUD, pisząc tylko kilka linijek kodu.

Stół wydziałowy

Zaczniemy od tabeli działów.

Stwórzmy departament.php o następującej treści. Jeśli katalog główny dokumentu to /web/demo-app/public_html/ , utwórz departament.php plik pod adresem /web/demo-app/public_html/department.php . Przypomnijmy, że już skopiowaliśmy katalog skryptów do /web/demo-app/public_html/script .

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
echo $pdocrud->dbTable("department")->render();

A teraz, jeśli skierujesz przeglądarkę na departament.php plik, powinieneś zobaczyć coś takiego:

Uff! Za pomocą zaledwie dwóch linijek kodu masz gotowy do użycia interfejs CRUD, który umożliwia wykonywanie wszystkich niezbędnych czynności związanych z tworzeniem, odczytywaniem, aktualizowaniem i usuwaniem modelu. Nie wspominając już o tym, że domyślny widok listy zawiera wiele funkcji, w tym:

  • wyszukaj
  • wbudowana paginacja
  • drukuj
  • eksportuj rekordy do formatu CSV, PDF lub Excel
  • Operacja usuwania zbiorczego
  • sortowanie według kolumn

Kliknij Dodaj po prawej stronie i otworzy się formularz, aby dodać rekord działu.

Dodajmy kilka rekordów za pomocą Dodaj przycisk i zobacz, jak to wygląda.

Jak widać, jest to dość lekki i schludny interfejs. Niemal bez wysiłku zbudowaliśmy CRUD dla modelu działu! Następnie zobaczymy, jak zrobić to samo dla tabeli pracowników.

Tabela pracowników

W tej sekcji zobaczymy, jak zbudować CRUD dla tabeli pracowników. Stwórzmy pracownik.php z następującą zawartością.

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
echo $pdocrud->dbTable("employee")->render();

To prawie ten sam kod, co ostatnim razem; wystarczy zmienić nazwę tabeli. Jeśli klikniesz Dodaj przycisk, wyświetla również fajny formularz, który pozwala dodać rekord pracownika.

Być może zauważyłeś jeden problem:identyfikator działu pole to pole tekstowe, ale lepiej by było, gdyby było rozwijane z nazwą działu. Zobaczmy, jak to osiągnąć.

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();

// get departments
$data =  $pdocrud->getPDOModelObj()->select("department");
$options = array();
foreach($data as $record) {
    $options[$record['id']] = $record['department_name'];
}

// change the type of the dept_id field from textfield to select dropdown
$pdocrud->fieldTypes("dept_id", "select");
$pdocrud->fieldDataBinding("dept_id", $options, "", "","array");

echo $pdocrud->dbTable("employee")->render();

W tym kodzie uzyskaliśmy dostęp do tabeli działów za pośrednictwem PDO CRUD, dzięki czemu możemy powiązać nazwę działu z identyfikatorami działu. Następnie zaktualizowaliśmy opcje powiązania dla pola identyfikatora działu, aby wyświetlało się ono jako lista rozwijana (select ) lista.

Teraz kliknij Dodaj przycisk, aby zobaczyć, jak to wygląda! Powinieneś zobaczyć Identyfikator działu pole jest teraz konwertowane na listę rozwijaną!

Dodajmy kilka rekordów pracowników i zobaczmy, jak wygląda lista pracowników:

Ładnie wygląda! Ale mamy tu inny mały problem:widać, że Identyfikator działu kolumna pokazuje identyfikator działu i byłoby miło zamiast tego wyświetlić rzeczywistą nazwę działu. Dowiedzmy się, jak to osiągnąć!

Zmieńmy kod employee.php z następującą zawartością.

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();

// change the type of the dept_id field from textfield to select dropdown
$data =  $pdocrud->getPDOModelObj()->select("department");
$options = array();
foreach($data as $record) {
    $options[$record['id']] = $record['department_name'];
}
$pdocrud->fieldTypes("dept_id", "select");
$pdocrud->fieldDataBinding("dept_id", $options, "", "","array");

$pdocrud->crudTableCol(array("first_name","last_name", "department_name", "email","phone"));
$pdocrud->joinTable("department", "employee.dept_id = department.id", "INNER JOIN");
echo $pdocrud->dbTable("employee")->render();

Tutaj utworzyliśmy połączenie między tabelami pracowników i działów za pomocą $pdocrud->joinTable , a następnie nakazał PDO CRUD renderować tylko imię i nazwisko pracownika, nazwę działu i dane kontaktowe za pomocą $pdocrud->crudTableCol .

Po tej zmianie lista pracowników powinna wyglądać tak:

Jak widać, skrypt PDO CRUD jest dość elastyczny i pozwala na każdą możliwą opcję dostosowania interfejsu użytkownika.

Do tej pory omówiliśmy, jak skonfigurować podstawowy interfejs CRUD. W następnej sekcji zobaczymy kilka dodatkowych opcji, których możesz użyć do ulepszenia i dostosowania interfejsu CRUD.

Opcje dostosowywania

W tej sekcji zobaczymy kilka opcji dostosowywania zapewnianych przez narzędzie PDO CRUD. Oczywiście nie jest możliwe przejrzenie wszystkich opcji, ponieważ narzędzie PDO CRUD zapewnia znacznie więcej, niż moglibyśmy omówić w jednym artykule, ale postaram się zwrócić uwagę na kilka ważnych.

Edycja wewnętrzna

Edytowanie bezpośrednie to jedna z najważniejszych funkcji, umożliwiająca szybką edycję rekordu na samej stronie wpisu. Zobaczmy, jak włączyć to na stronie z listą działów.

Zrewidujmy departament.php skrypt, jak pokazano w poniższym fragmencie.

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
$pdocrud->setSettings("inlineEditbtn", true);
echo $pdocrud->dbTable("department")->render();

Jak widać, właśnie włączyliśmy inlineEditbtn ustawienie, a funkcja edycji wbudowanej jest dostępna od razu!

To bardzo przydatna funkcja, która umożliwia edycję rekordów w locie!

Filtry

Jak mogłeś zauważyć, strona z listą działów zapewnia już wyszukiwanie tekstowe w celu filtrowania rekordów. Możesz jednak dodać własne niestandardowe filtry, aby ulepszyć funkcję wyszukiwania. To jest dokładnie to, co Filtry opcja zapewnia, ponieważ umożliwia tworzenie niestandardowych filtrów!

Użyjemy pracownik.php dla tej funkcji, ponieważ jest to idealny przykład użycia demonstracyjnego. Na stronie z listą pracowników wyświetlamy nazwę działu dla każdego rekordu pracownika, więc zbudujmy filtr działu, który pozwoli Ci filtrować rekordy według nazwy działu.

Śmiało i popraw swój pracownik.php jak pokazano w poniższym fragmencie.

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();

$data =  $pdocrud->getPDOModelObj()->select("department");
$options = array();
foreach($data as $record) {
    $options[$record['id']] = $record['department_name'];
}
$pdocrud->fieldTypes("dept_id", "select");//change state to select dropdown
$pdocrud->fieldDataBinding("dept_id", $options, "", "","array");//add data using array in select dropdown

$pdocrud->crudTableCol(array("first_name","last_name", "department_name", "email","phone"));
$pdocrud->joinTable("department", "employee.dept_id = department.id", "INNER JOIN");
$pdocrud->addFilter("department_filter", "Department", "dept_id", "dropdown");
$pdocrud->setFilterSource("department_filter", $options, "", "", "array");
echo $pdocrud->dbTable("employee")->render();

Właśnie dodaliśmy dwie linie z wywołaniami do addFilter i setFilterSource , a tym samym lista pracowników wygląda następująco:

Czy to nie fajne? Za pomocą zaledwie dwóch linijek kodu dodałeś swój niestandardowy filtr!

Przesyłanie zdjęć

Jest to niezbędna funkcja, jeśli chcesz skonfigurować przesyłanie plików w swoich formularzach. Wystarczy jeden wiersz kodu, aby przekonwertować zwykłe pole na pole przesyłania pliku, jak pokazano w poniższym fragmencie.

Zakładam, że masz profile_image w tabeli pracowników i jesteś gotowy do przekonwertowania go na pole przesyłania plików!

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
$pdocrud->fieldTypes("profile_image", "image");
echo $pdocrud->dbTable("employee")->render();

Otóż ​​to! Użytkownicy będą teraz mogli przesyłać obraz do profile_image pole.

CAPTCHA

W dzisiejszych czasach, jeśli chcesz uchronić swoją witrynę przed spamowaniem, weryfikacja CAPTCHA jest niezbędną funkcją. Narzędzie PDO CRUD oferuje już kilka opcji do wyboru.

Zapewnia dwie opcje:CAPTCHA i reCAPTCHA. Jeśli wybierzesz opcję CAPTCHA, wyświetli się matematyczna zagadka do rozwiązania przez użytkownika. Z drugiej strony, jeśli wybierzesz opcję reCAPTCHA, przedstawia ona słynną wiadomość Nie jestem robotem puzzle!

Jeśli chcesz dodać prostą łamigłówkę CAPTCHA, musisz dodać następujący wiersz przed wyrenderowaniem CRUD.

$pdocrud->formAddCaptcha("captcha");

Z drugiej strony, jeśli wolisz reCAPTCHA, możesz to osiągnąć, korzystając z poniższego fragmentu.

$pdocrud->recaptcha("your-site-key","site-secret");

Wystarczy zastąpić your-site-keysite-secret argumenty z prawidłowymi danymi uwierzytelniającymi od Google.

Do tej pory omówiliśmy opcje, które zwiększają funkcjonalność Twojej aplikacji. Następnie zobaczymy, jak możesz zmienić skórę, a tym samym wygląd i styl swojej aplikacji.

Skórki

Jeśli nie podoba ci się domyślna skórka, masz kilka opcji do wyboru. Narzędzie PDO CRUD zapewnia ciemne, jasne, zielone i zaawansowane skórki jako inne opcje do wyboru.

Na przykład poniższa lista jest oparta na zielonym motywie.

Ładnie wygląda, prawda?

Czysty pasek startowy

Chociaż domyślna skórka obsługuje już układy responsywne, narzędzie PDO CRUD obsługuje również integrację biblioteki Bootstrap!

Jeśli chcesz zbudować układ za pomocą biblioteki Bootstrap, musisz użyć poniższego fragmentu kodu.

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud(false, "pure", "pure");
echo $pdocrud->dbTable("department")->render();

A oto jak to wygląda:

4 najlepsze gotowe interfejsy PHP CRUD od CodeCanyon

CodeCanyon jest domem dla dziesiątek dobrze sprawdzonych, łatwych interfejsów CRUD PHP. Jeśli nie chcesz przeglądać wszystkich kreatorów PHP CRUD na stronie, sprawdź te pięć opcji:

1. Generator CRUD PHP

Dzięki ponad 20 motywom Bootstrap i wspaniałym zaawansowanym funkcjom ten gotowy interfejs wygląda świetnie i działa dobrze. Świetnie wykonuje analizę danych. Generator CRUD PHP jest również wyposażony w narzędzia, które pozwolą Ci stworzyć idealny panel administracyjny.

2. Wielozadaniowa aplikacja Laravel

Czy potrzebujesz aplikacji CRUD HTML5 ze wszystkimi dzwonkami i gwizdkami? W takim razie Laravel jest dla Ciebie dobrym wyborem. Ta prosta aplikacja PHP CRUD jest wypełniona funkcjami, takimi jak:

  • szablon front-end i back-end
  • e-maile wysyłane do użytkowników i grup
  • funkcja zapomnienia hasła
  • zablokowane i dozwolone adresy IP

3. Admin Lite — panel administracyjny PHP i zarządzanie użytkownikami

Jeśli twój następny projekt jest tworzony za pomocą CodeIgniter, będziesz potrzebować Admin Lite. Ta aplikacja CRUD HTML5 pomaga być na bieżąco z tworzeniem stron internetowych dzięki gotowym do użycia modułom. Admin Lite zawiera panel administratora i użytkownika oraz obsługuje wiele języków. Możesz przekonwertować swój istniejący panel na ten, aby móc kontynuować od miejsca, w którym przerwałeś.

4. Cicool — strona, formularz, REST API i generator CRUD

Uzupełniamy tę listę z Cicool. Jest to prosty generator CRUD PHP z wieloma funkcjami. Ten kreator WordPress CRUD PHP może być również używany do tworzenia stron, formularzy i interfejsów API REST. Korzystanie z Cicool pozwala wykorzystać gotowe komponenty i dane wejściowe do stworzenia tego, czego potrzebujesz. Dzięki stałym aktualizacjom będziesz wiedział, że Cicool pozostaje obsługiwany.

Dowiedz się więcej o świecie kodu dzięki Envato Tuts+

Nie ma wątpliwości, że kodowanie to głęboki temat. Jest wiele do nauczenia się i łatwo się zgubić. Jeśli chcesz zdobyć bardzo przydatne umiejętności kodowania z pewnymi wskazówkami, sprawdź Envato Tuts+. Nasze samouczki, przewodniki i kursy dotyczące kodu oferują instrukcje potrzebne podczas nauki. Możesz sprawdzić niektóre z nich poniżej:

  • BEZPŁATNIE Podstawy PHPHPJeremy McPeak
  • PHPPHP Liczby całkowite, zmiennoprzecinkowe i ciągi liczboweMonty Shokeen
  • PHPJak przesłać plik w PHP (z przykładem)Sajal Soni
  • WordPressJak korzystać z buforowania przeglądarki w WordPressSajal Soni

I koniecznie udaj się na nasz kanał YouTube! Jest wypełniony samouczkami wideo i kursami prowadzonymi przez naszych doświadczonych instruktorów.

Jak zostać programistą internetowym
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja MySQL MOD() – Wykonaj operację Modulo w MySQL

  2. Jak importować / przywracać tabele MySql za pomocą PHP

  3. Czy mogę połączyć wiele wierszy MySQL w jedno pole?

  4. Błąd MySQL:specyfikacja klucza bez długości klucza

  5. mysql automatycznie przechowuje znacznik czasu tworzenia rekordu