sql >> Database >  >> RDS >> Mysql

Bouw snel een PHP CRUD-interface met de PDO Advanced CRUD Generator Tool

In deze zelfstudie gaan we PDO CRUD bekijken:een tool voor het maken van formulieren en databasebeheer. PDO CRUD helpt u bij het bouwen van formulieren voor uw databasetabellen met slechts een paar regels code, waardoor u snel en eenvoudig een databasetoepassing kunt opstarten.

Er zijn tal van extensies beschikbaar voor database-abstractie en specifiek CRUD-generatie (creëren, lezen, bijwerken en verwijderen) voor PHP en MySQL. En natuurlijk vindt u ook commerciële opties die kant-en-klare functies en uitgebreide ondersteuning bieden. In het geval van commerciële opties kun je ook kwaliteitscode, bugfixes en nieuwe verbeteringen verwachten.

Vandaag gaan we de PDO CRUD-tool bespreken, die beschikbaar is bij CodeCanyon voor aankoop tegen een zeer redelijke prijs. Het is een complete CRUD-buildertool waarmee je applicaties kunt bouwen door alleen databasetabellen aan te bieden en een paar regels code te schrijven.

Het werkt met meerdere database-back-ends, waaronder MySQL, Postgres en SQLite. In deze geavanceerde PHP CRUD tutorial zullen we zien hoe je PDO CRUD kunt gebruiken om een ​​CRUD systeem te bouwen met de MySQL database back-end.

Opmerking:er zijn meerdere versies beschikbaar voor CRUD en PHP en mySQL, klik hier .

Installatie en configuratie

In dit gedeelte zullen we zien hoe u de PDO CRUD-tool installeert en configureert nadat u deze hebt gekocht en gedownload van CodeCanyon.

Zodra je het hebt gekocht, kun je het zipbestand downloaden. Pak het uit en je zult de map vinden met de belangrijkste plug-incode:PDOCrud/script . Kopieer deze map naar je PHP-app.

Als uw project bijvoorbeeld is geconfigureerd op /web/demo-app/public_html , moet u de scriptmap kopiëren naar /web/demo-app/public_html/script .

Vervolgens moet u de back-endgegevens van uw database invoeren in het configuratiebestand. Het configuratiebestand bevindt zich op /web/demo-app/public_html/script/config/config.php . Open dat bestand in uw favoriete teksteditor en wijzig de volgende details in dat bestand.

$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"

Zoals u kunt zien, spreken de details voor zich. De $config["script_url"] is ingesteld op de URL die u gebruikt om toegang te krijgen tot uw site.

Nadat u de databasegegevens hebt opgeslagen, bent u klaar om de PDO CRUD-tool te gebruiken. In ons voorbeeld maken we twee MySQL-tabellen die gegevens van werknemers en afdelingen bevatten.

  • werknemers :bewaart werknemersinformatie
  • afdeling :bevat afdelingsinformatie

Open uw databasebeheertool en voer de volgende opdrachten uit om tabellen te maken, zoals we hierboven zojuist hebben besproken. Ik gebruik phpMyAdmin om met de back-end van de MySQL-database te werken.

Laten we eerst de afdelingstabel maken.

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;

Vervolgens maken we de werknemerstabel.

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;

Zoals je kunt zien, hebben we de dept_id . gebruikt kolom in de werknemerstabel, die de id van de overeenkomstige afdeling bevat die is opgeslagen in de afdelingstabel.

Zodra u de tabellen in uw database heeft gemaakt, zijn we klaar om een ​​CRUD-toepassingsinterface te bouwen met behulp van de PDO CRUD-tool!

Basis CRUD instellen

In dit gedeelte zullen we zien hoe u een eenvoudige CRUD-interface kunt opzetten met behulp van de PDO CRUD-tool door slechts een paar regels code te schrijven.

De Afdelingstabel

We beginnen met de afdelingstabel.

Laten we department.php . maken met de volgende inhoud. Als uw documenthoofdmap /web/demo-app/public_html/ . is , maak de afdeling.php bestand op /web/demo-app/public_html/department.php . Bedenk dat we de scriptdirectory al hebben gekopieerd naar /web/demo-app/public_html/script .

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

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

En nu, als u uw browser naar de department.php bestand, zou je zoiets als dit moeten zien:

Opluchting! Met slechts twee regels code heeft u een gebruiksklare CRUD-gebruikersinterface waarmee u alle benodigde acties voor maken, lezen, bijwerken en verwijderen op uw model kunt uitvoeren. Om nog maar te zwijgen van het feit dat de standaardweergave zelf veel functies bevat, waaronder:

  • zoeken
  • ingebouwde paginering
  • afdrukken
  • records exporteren naar CSV-, PDF- of Excel-indeling
  • bulkverwijderingsbewerking
  • sorteren op kolommen

Klik op de Toevoegen knop aan de rechterkant, en het opent het formulier om een ​​afdelingsrecord toe te voegen.

Laten we een paar records toevoegen met behulp van de Toevoegen knop en kijk hoe het eruit ziet.

Zoals je kunt zien, is dit een vrij lichtgewicht en nette interface. Met bijna geen moeite hebben we een CRUD gebouwd voor het afdelingsmodel! Vervolgens zullen we zien hoe we hetzelfde kunnen doen voor de werknemerstabel.

De werknemerstabel

In deze sectie zullen we zien hoe u een CRUD voor de werknemerstabel kunt bouwen. Laten we employee.php . maken met de volgende inhoud.

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

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

Het is vrijwel dezelfde code als de vorige keer; we hoeven alleen de naam van de tabel te wijzigen. Als u op Toevoegen . klikt knop, je krijgt ook een mooi formulier waarmee je het werknemersrecord kunt toevoegen.

Je hebt misschien één probleem opgemerkt:de Dept id veld is een tekstveld, maar het zou beter zijn als een vervolgkeuzelijst met de naam van de afdelingen. Laten we eens kijken hoe we dit kunnen bereiken.

<?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();

In deze code hebben we toegang gekregen tot de afdelingstabel via PDO CRUD, zodat we de afdelingsnaam kunnen koppelen aan de afdelings-ID's. Vervolgens hebben we de bindingsopties voor het veld afdelings-ID bijgewerkt, zodat het wordt weergegeven als een vervolgkeuzelijst (select ) lijst.

Klik nu op de Toevoegen knoop om te zien hoe het eruit ziet! U zou de Dept-ID . moeten zien veld is nu geconverteerd naar een vervolgkeuzelijst!

Laten we een paar werknemersrecords toevoegen en kijken hoe de werknemerslijst eruitziet:

Dat ziet er leuk uit! Maar we hebben hier nog een klein probleem:je kunt zien dat de Dept-ID kolom toont de ID van de afdeling, en het zou leuk zijn om in plaats daarvan de werkelijke afdelingsnaam weer te geven. Laten we kijken hoe we dit kunnen bereiken!

Laten we de code van employee.php . herzien met de volgende inhoud.

<?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();

Hier hebben we een join gemaakt tussen de werknemers- en afdelingstabellen met $pdocrud->joinTable , en vertelde vervolgens PDO CRUD om alleen de naam van de werknemer, de afdelingsnaam en contactgegevens weer te geven met $pdocrud->crudTableCol .

En met die wijziging zou de werknemerslijst er als volgt uit moeten zien:

Zoals je kunt zien, is het PDO CRUD-script behoorlijk flexibel en biedt het je alle mogelijke opties om je gebruikersinterface aan te passen.

Tot nu toe hebben we besproken hoe u een eenvoudige CRUD-interface kunt opzetten. In het volgende gedeelte zien we nog enkele opties die u kunt gebruiken om uw CRUD UI te verbeteren en aan te passen.

Aanpassingsopties

In dit gedeelte zullen we enkele aanpassingsopties zien die worden geboden door de PDO CRUD-tool. Het is natuurlijk niet mogelijk om alle opties door te nemen, aangezien de PDO CRUD-tool veel meer biedt dan we in één artikel zouden kunnen behandelen, maar ik zal proberen een paar belangrijke eruit te lichten.

Inline bewerken

Inline bewerken is een van de belangrijkste functies, waardoor u een record snel kunt bewerken op de vermeldingspagina zelf. Laten we eens kijken hoe we dit kunnen inschakelen voor de afdelingslijstpagina.

Laten we de department.php herzien script zoals weergegeven in het volgende fragment.

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

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

Zoals je kunt zien, hebben we zojuist de inlineEditbtn . ingeschakeld instelling, en de inline bewerkingsfunctie is er meteen!

Dit is een erg handige functie waarmee u records in een oogwenk kunt bewerken!

Filters

Zoals je misschien hebt gemerkt, biedt de pagina met afdelingsoverzichten al een vrije tekstzoekopdracht om records te filteren. U kunt echter uw eigen aangepaste filters toevoegen om de zoekfunctie te verbeteren. Dat is precies wat de Filters optie biedt, omdat u hiermee aangepaste filters kunt maken!

We gebruiken de employee.php voor deze functie omdat het de perfecte demonstratie-use-case is. Op de pagina met werknemersvermeldingen geven we de afdelingsnaam weer voor elke werknemersrecord, dus laten we een afdelingsfilter maken waarmee u records kunt filteren op afdelingsnaam.

Ga je gang en herzie je employee.php zoals weergegeven in het volgende fragment.

<?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();

We hebben zojuist twee regels toegevoegd, met oproepen naar addFilter en setFilterSource , en daarmee ziet de werknemerslijst er als volgt uit:

Is dat niet cool? Met slechts twee regels code heb je je aangepaste filter toegevoegd!

Beelduploads

Dit is een onmisbare functie als u bestandsuploads in uw formulieren wilt instellen. Met slechts een enkele regel code kunt u een gewoon veld converteren naar een veld voor het uploaden van bestanden, zoals weergegeven in het volgende fragment.

Ik neem aan dat je een profile_image . hebt veld in uw werknemerstabel en dat u klaar bent om het te converteren naar een veld voor het uploaden van bestanden!

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

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

Dat is het! Gebruikers kunnen nu een afbeelding uploaden naar de profile_image veld.

CAPTCHA

Als u uw site tegenwoordig wilt beschermen tegen spam, is CAPTCHA-verificatie een essentiële functie. De PDO CRUD-tool biedt al een aantal opties om uit te kiezen.

Het biedt twee opties:CAPTCHA en reCAPTCHA. Als u de CAPTCHA-optie selecteert, wordt een wiskundige puzzel weergegeven die de gebruiker moet oplossen. Aan de andere kant, als u de reCAPTCHA-optie selecteert, presenteert deze een beroemdeIk ben geen robot puzzel!

Als je een eenvoudige CAPTCHA-puzzel wilt toevoegen, moet je de volgende regel toevoegen voordat je je CRUD rendert.

$pdocrud->formAddCaptcha("captcha");

Aan de andere kant, als u de voorkeur geeft aan reCAPTCHA, kunt u hetzelfde bereiken door het volgende fragment te gebruiken.

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

U hoeft alleen de your-site-key te vervangen en site-secret argumenten met geldige inloggegevens van Google.

Tot nu toe hebben we opties besproken die de functionaliteit van uw app verbeteren. Vervolgens zullen we zien hoe u de skin en dus het uiterlijk van uw applicatie kunt veranderen.

Skins

Als je de standaard skin niet leuk vindt, heb je een aantal opties om uit te kiezen. De PDO CRUD-tool biedt donkere, eerlijke, groene en geavanceerde skins als andere opties om uit te kiezen.

De volgende lijst is bijvoorbeeld gebaseerd op het groene thema.

Het ziet er mooi uit, nietwaar?

Pure Bootstrap

Hoewel de standaard skin al responsieve lay-outs ondersteunt, ondersteunt de PDO CRUD-tool ook Bootstrap-bibliotheekintegratie!

U moet het volgende fragment gebruiken als u uw lay-out wilt bouwen met behulp van de Bootstrap-bibliotheek.

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

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

En zo ziet het eruit:

4 Top vooraf gemaakte PHP CRUD-interfaces van CodeCanyon

CodeCanyon is de thuisbasis van tientallen goed beoordeelde, eenvoudige CRUD PHP-interfaces. Als je niet door alle PHP CRUD-builders op de site wilt bladeren, bekijk dan deze vijf opties:

1. PHP CRUD-generator

Met meer dan 20 Bootstrap-thema's en geweldige geavanceerde functies, ziet deze vooraf gemaakte interface er geweldig uit en presteert hij goed. Het doet geweldig werk door analyses op uw gegevens uit te voeren. PHP CRUD Generator wordt ook geleverd met tools waarmee u uw ideale beheerderspaneel kunt maken.

2. Laravel multifunctionele toepassing

Heb je een HTML5 CRUD-applicatie nodig met alle toeters en bellen? Dan is Laravel een goede keuze voor jou. Deze eenvoudige PHP CRUD-applicatie zit vol met functies zoals:

  • front-end en back-end sjabloon
  • ontploffingen naar gebruikers en groepen e-mailen
  • wachtwoordfunctie vergeten
  • geblokkeerde en toegestane IP-adressen

3. Admin Lite:PHP-beheerderspaneel en gebruikersbeheer

Als uw volgende project met CodeIgniter wordt gemaakt, wilt u Admin Lite. Deze HTML5 CRUD-applicatie helpt u op de hoogte te blijven van uw webontwikkeling met kant-en-klare modules. Admin Lite wordt geleverd met een beheerders- en gebruikersdashboard en ondersteunt meerdere talen. U kunt uw bestaande paneel naar dit paneel converteren, zodat u verder kunt gaan waar u was gebleven.

4. Cicool—Pagina, Formulier, REST API en CRUD Generator

We ronden deze lijst af met Cicool. Het is een eenvoudige CRUD PHP-generator met veel functies. Deze WordPress CRUD PHP-builder kan ook worden gebruikt om pagina's, formulieren en REST-API's te maken. Met Cicool kun je kant-en-klare componenten en inputs gebruiken om te creëren wat je nodig hebt. Dankzij de constante updates weet je dat Cicool ondersteund blijft.

Leer meer over de wereld van code met Envato Tuts+

Het lijdt geen twijfel dat codering een diepgaand onderwerp is. Er is veel te leren, en het is gemakkelijk om te verdwalen. Als je met wat begeleiding zeer nuttige codeervaardigheden wilt opdoen, bekijk dan Envato Tuts +. Onze code-tutorials, handleidingen en cursussen bieden je de instructie die je nodig hebt tijdens het leren. Je kunt er hieronder enkele bekijken:

  • GRATIS PHPPHP-grondbeginselenJeremy McPeak
  • PHPPHP Integers, Floats en Number StringsMonty Shokeen
  • PHPEen bestand uploaden in PHP (met een voorbeeld) Sajal Soni
  • WordPress Browsercaching gebruiken in WordPressSajal Soni

En ga zeker naar ons YouTube-kanaal! Het staat vol met videozelfstudies en cursussen die worden gegeven door onze deskundige instructeurs.

Hoe word je een webontwikkelaar?
  1. Hoe u de dag van het jaar kunt halen uit een datum in PostgreSQL

  2. Gratis veldhospitaaldatabase om de COVID-19-pandemie te bestrijden

  3. MariaDB JSON_MERGE() uitgelegd

  4. MySQL-query gebruiken om rijen te doorkruisen om een ​​recursieve boom te maken