এই repo টি বিগিনারদের জন্য PHP MySQL CRUD অনুশীলনের সহায়ক হতে পারে। আমি এই repo টি তৈরি করেছি বিগিনারদের জন্য যারা প্রাথমিক PHP শিখেছেন এবং এখন CRUD অনুশীলন করতে চান।
নিম্নে কিছু বিষয়বস্তু দেওয়া আছে, নতুনদের অবশ্যই PHP MySQL এর সাহায্যে একটি CRUD প্রজেক্ট তৈরি করার আগে বিষয়গুলো আগে জানতে হবেঃ
- id ও class এর পার্থক্য
- id ও class এর সুবিধা-অসুবিধা
- id ও class এর ব্যবহার
- name কেন ব্যবহার হয়?
- HTML Table কি? কেন ব্যবহার করা হয়?
- <tr> ও <td> কি? কেন ব্যবহার করা হয়?
- কেন <table> element এর মধ্যে <tr> এবং <tr> element এর মধ্যে <td> ব্যবহার হয়?
- কেন ও কখন <td> এর পরিবর্তে <th> ব্যবহার করা হয়?
- HTML Form কি? কেন ব্যবহার করা হয়?
- HTML Input কি?
- কেন Form element এর মধ্যে HTML Input ব্যবহার হয়?
- HTML Form action ও method কি?
- HTML submit এবং reset এর ব্যবহার
- PHP কি? কেন ব্যবহার হয়?
- PHP ব্যবহার করে Hello World প্রোগ্রাম তৈরি করা
- HTML Form এর data গুলো $_POST ও $_GET এর মাধ্যমে PHP প্রোগ্রামে ব্যবহার
- $_POST: Bookmark-able URL তৈরি করে না।
- $_POST এর প্রয়োগ: সাধারনত login system তৈরিতে কিংবা ডাটা insertion এর ক্ষেত্রে ব্যবহার করা হয়।
- $_GET: Bookmark-able URL তৈরি করে।
- $_GET এর প্রয়োগ: View Details, Edit কিংবা Delete করার ক্ষেত্রে ক্ষেত্রে ব্যবহার করা হয়।
- C = Create -> ডাটা Insert/Add করা বুঝায়
- R = Read -> ডাটা View করা বুঝায়
- U = Update -> ডাটা Edit করে Save করা বুঝায়
- D = Delete -> ডাটা মুছে ফেলার জন্য ব্যবহার করা হয়।
- Database কি?
- Database কেন ব্যবহার করা হয়?
-
SQL কি?
-
SHOW DATABASES;
-
USE students; /* USE <Database Name> */ /* SQL ডাটাবেজে কাজ করার সময় অবশ্যই USE কমান্ডটি ব্যাবহার করতে হবে। তবে php তে কোড লিখার সময় এই কমান্ডটি ব্যাবহার করতে হবে না। */
-
/* (Example 2 code লিখার পর) */ SHOW TABLES;
-
-
Select (R = Read)
-
SELECT * FROM students; /* SELECT * FROM <Table Name> */
-
SELECT * FROM students LIMIT 10; /* SELECT * FROM <Table Name> LIMIT <Number of Records want to Show> */
-
SELECT name, roll FROM students; /* SELECT <Column1>, <Column2>, <Column3>...<ColumnNth> FROM <Table Name> */
-
SELECT name, roll FROM students LIMIT 5; /* SELECT <Column1>, <Column2>, <Column3>...<ColumnNth> FROM <Table Name> LIMIT <Number of Records want to Show> */
-
-
Insert (C = Create)
-
INSERT INTO students VALUES (, 'John', 101, 700); /* INSERT INTO <Table Name> VALUES (<Value of Column1>, <Value of Column2>, <Value of Column3>...<Value of ColumnNth>) */
-
INSERT INTO students (name, roll) VALUES ('John', 101); /* INSERT INTO <Table Name> (<Column1>, <Column2>, <Column3>...<ColumnNth>) VALUES (<Value of Column1>, <Value of Column2>, <Value of Column3>...<Value of ColumnNth>) */
-
-
Delete (D = Delete)
-
DELETE FROM students WHERE id=2; /* DELETE FROM <Table Name> WHERE <Condition> */
-
-
Update (U = Update)
-
UPDATE students SET amount=600 WHERE id=2; /* UPDATE <Table Name> SET <Column>=<Value for Column> WHERE <Condition>; */
-
UPDATE students SET name='John Doe', amount=900 WHERE name='John' AND id=2; /* UPDATE <Table Name> SET <Column1>=<Value for Column1>, <Column2>=<Value for Column2>, <Column3>=<Value for Column3>, ... <ColumnNth>=<Value for ColumnNth> WHERE <Condition>; */
-
- GET as variable
- hostname
- username
- password
- database
- Connect to the database using hostname, username, password, database
- $sql = Make a SQL string
- Execute $sql
- Close the database connection
$conn = new mysqli($hostname, $username, $password, $database); // Instantiation of mysqli
$conn->connect_error; // For getting connection error message
$conn->query(SQL query string); // For executing SQL query
$conn->query(SQL query string)->number_rows; // For getting number of rows
$conn->query(SQL query string)->fetch_assoc(); // If there are more than zero rows exists, the method fetch_assoc() puts all the results into an associative array that we can loop through
$conn->close(); // For closing the database connection
-
Create an index.html file and code for HTML form.
-
Create default.css and link to HTML file.
-
Include
<table>
element into HTML for showing data. -
Change index.html to index.php
-
Get data from DB and show to index.php following steps:
- Connect DB
- $result = (Execute SQL query and get data)
- while loop on the condition of $row = $result->fetch_assoc() though target html view element \w $row['column_name']
-
Create and code to insert.php following steps:
- Get form data using $_POST
- Make SQL query string
- Execute the SQL query
- Go to home page
-
Create and code to delete.php following steps:
- Get id using $_GET
- Make SQL query string
- Execute the SQL query
- Go to home page
-
Create and code to edit.php following steps:
- Create a new form
- Get data from DB following by id
- Set data input value of the form
- Make SQL query string for updating
- onSubmit: Execute the update query
- Go to home page
- HTML5 Essential Training by Procoder
- HTML5 | HTML Tutorial For Beginners by Hablu Programmer
- CSS3 Essential Training by Procoder
- CSS Bangla Tutorial / CSS3 Bangla Tutorial by Hablu Programmer
- CSS3 and CSS4 Weird Parts Bangla Tutorial by Stack Learner
- JavaScript Bangla Tutorial | JS Bangla Tutorial Series for Beginners by Learn with Summit Bangladesh
- PHP For Absolute Beginners in Bangla by Procoder
- mysql bangla tutorial | Mysql Database | HSC,CSE, Anyone by Learn Hunter
- MySQL Database Bangla Tutorials (HSC student / Anyone) by Anisul Islam