In my previuos tutorial CRUD Operations Using PHP Oops and MySql ,it was simple Object Oriented Concepts for beginners , A better programming must follow object oriented principals , and Now this tutorial goes advance and some different from previous one , this tutorial contains one crud file that handles such operations like create , read , update and delete , this part 2 tutorial also easy to learn , so let's take a look.
this tutorial contains a folder called inc with PHP files like this :
Table : users
columns : user_id , first_name , last_name , user_city.
copy-paste the following sql query to your MySql Database.
this file handles database and server cofiguration and yes , with DB_con class with constructor that works for all files.
class.crud.php
this file contains a main class called CRUD which have inner functions like create , read, update and delete, and this function name says what they do.
HTML From
above html form contains all the fields the users table has.
Put the following script just above html form.
script explained :
including the class.crud.php we can use it's create() function to insert data.
after fetching data we can update data using following function.
here i shown you that how to use oops in different way to insert, select, update and delete data from mysql. hope it would be helpful to you... that's it...
inc/dbconfig.php
inc/class.crud.php
index.php
add_records.php
edit_records.php
dbcrud.php
style.css
index.php
add_records.php
edit_records.php
dbcrud.php
inc
-- class.crud.php
-- dbconfig.php
add_records.php
edit_records.php
dbcrud.php
inc
-- class.crud.php
-- dbconfig.php
Database Design And Table.
Database : dbtutsTable : users
columns : user_id , first_name , last_name , user_city.
copy-paste the following sql query to your MySql Database.
CREATE DATABASE `dbtuts` ;
CREATE TABLE `dbtuts`.`users` (
`user_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`first_name` VARCHAR( 25 ) NOT NULL ,
`last_name` VARCHAR( 25 ) NOT NULL ,
`user_city` VARCHAR( 45 ) NOT NULL
) ENGINE = InnoDB;
Database Configuration
dbconfig.phpthis file handles database and server cofiguration and yes , with DB_con class with constructor that works for all files.
<?php
define('DB_SERVER','localhost');
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_NAME','dbtuts');
class DB_con
{
function __construct()
{
$conn = mysql_connect(DB_SERVER,DB_USER,DB_PASSWORD) or die('error connecting to server'.mysql_error());
mysql_select_db(DB_NAME, $conn) or die('error connecting to database->'.mysql_error());
}
}
?>
class.crud.php
this file contains a main class called CRUD which have inner functions like create , read, update and delete, and this function name says what they do.
<?php
include_once 'dbconfig.php';
class CRUD
{
public function __construct()
{
$db = new DB_con();
}
public function create($fname,$lname,$city)
{
mysql_query("INSERT INTO users(first_name,last_name,user_city) VALUES('$fname','$lname','$city')");
}
public function read()
{
return mysql_query("SELECT * FROM users");
}
public function delete($id)
{
mysql_query("DELETE FROM users WHERE user_id=".$id);
}
public function update($fname,$lname,$city,$id)
{
mysql_query("UPDATE users SET first_name='$fname', last_name='$lname', user_city='$city' WHERE user_id=".$id);
}
}
?>
these are the most important files for handle crud operations and works silently for all the operations.CREATE : Data Insert
To insert Data into mysql table we need to create html form containing all the fields the users table has. and HTML code of insert form will be as follows.HTML From
<form method="post">
<input type="text" name="fname" placeholder="first name" />
<input type="text" name="lname" placeholder="last name" />
<input type="text" name="city" placeholder="city" />
<button type="submit" name="save">save</button>
</form>
explained : above html form contains all the fields the users table has.
Put the following script just above html form.
<?php
include_once 'inc/class.crud.php';
$crud = new CRUD();
if(isset($_POST['save']))
{
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$city = $_POST['city'];
// insert
$crud->create($fname,$lname,$city);
// insert
}
?>
script explained :
including the class.crud.php we can use it's create() function to insert data.
READ : Select Data
here how you can fetch all the data By including the class.crud.php file and usig$crud
object with$crud->read()
function. <?php
include_once 'inc/class.crud.php';
$crud = new CRUD();
$res = $crud->read();
while($row = mysql_fetch_array($res))
{
echo $row['first_name'];
echo $row['last_name'];
echo $row['user_city'];
}
?>
UPDATE : Update Data
for update data we need to fetch data which are set by querystring as follow :if(isset($_GET['edt_id']))
{
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_GET['edt_id']);
$row=mysql_fetch_array($res);
}
after fetching data we can update data using following function.
if(isset($_POST['update']))
{
$id = $_GET['edt_id'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$city = $_POST['city'];
$crud->update($fname,$lname,$city,$id);
}
DELETE : Delete Data
if(isset($_GET['del_id']))
{
$id = $_GET['del_id'];
$crud->delete($id);
}
here i shown you that how to use oops in different way to insert, select, update and delete data from mysql. hope it would be helpful to you... that's it...
Complete Script
inc/dbconfig.php
<?php
define('DB_SERVER','localhost');
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_NAME','dbtuts');
class DB_con
{
function __construct()
{
$conn = mysql_connect(DB_SERVER,DB_USER,DB_PASSWORD) or die('error connecting to server'.mysql_error());
mysql_select_db(DB_NAME, $conn) or die('error connecting to database->'.mysql_error());
}
}
?>
inc/class.crud.php
<?php
include_once 'dbconfig.php';
class CRUD
{
public function __construct()
{
$db = new DB_con();
}
public function create($fname,$lname,$city)
{
mysql_query("INSERT INTO users(first_name,last_name,user_city) VALUES('$fname','$lname','$city')");
}
public function read()
{
return mysql_query("SELECT * FROM users");
}
public function delete($id)
{
mysql_query("DELETE FROM users WHERE user_id=".$id);
}
public function update($fname,$lname,$city,$id)
{
mysql_query("UPDATE users SET first_name='$fname', last_name='$lname', user_city='$city' WHERE user_id=".$id);
}
}
?>
index.php
<?php
include_once 'inc/class.crud.php';
$crud = new CRUD();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css" />
<title>php oops crud tutorial part-2 by cleartuts</title>
</head>
<body>
<div id="header">
<label>php oops crud tutorial part-2 by cleartuts</label>
</div>
<center>
<table id="dataview">
<tr>
<td colspan="5"><a href="add_records.php">add new</a></td>
</tr>
<?php
$res = $crud->read();
if(mysql_num_rows($res)>0)
{
while($row = mysql_fetch_array($res))
{
?>
<tr>
<td><?php echo $row['first_name']; ?></td>
<td><?php echo $row['last_name']; ?></td>
<td><?php echo $row['user_city']; ?></td>
<td><a href="edit_records.php?edt_id=<?php echo $row['user_id']; ?>">edit</a></td>
<td><a href="dbcrud.php?del_id=<?php echo $row['user_id']; ?>">delete</a></td>
</tr>
<?php
}
}
else
{
?><tr><td colspan="5">Nothing here... add some new</td></tr><?php
}
?>
</table>
<footer>
<label>Visit <a href="http://cleartuts.blogspot.com/">cleartuts</a> for more tutorials...</label>
</footer>
</center>
</body>
</html>
add_records.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php oops crud tutorial part-2 by cleartuts</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="header">
<label>php oops crud tutorial part-2 by cleartuts</label>
</div>
<center>
<form method="post" action="dbcrud.php">
<table id="dataview">
<tr>
<td><input type="text" name="fname" placeholder="first name" /></td>
</tr>
<tr>
<td><input type="text" name="lname" placeholder="last name" /></td>
</tr>
<tr>
<td><input type="text" name="city" placeholder="city" /></td>
</tr>
<tr>
<td><button type="submit" name="save">save</button></td>
</tr>
</table>
</form>
</center>
</body>
</html>
edit_records.php
<?php
include_once 'inc/class.crud.php';
$crud = new CRUD();
if(isset($_GET['edt_id']))
{
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_GET['edt_id']);
$row=mysql_fetch_array($res);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php oops crud tutorial part-2 by cleartuts</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="header">
<label>php oops crud tutorial part-2 by cleartuts</label>
</div>
<center>
<form method="post" action="dbcrud.php?edt_id=<?php echo $_GET['edt_id'] ?>">
<table id="dataview">
<tr><td><input type="text" name="fname" placeholder="first name" value="<?php echo $row['first_name'] ?>" /><br /></td></tr>
<tr><td><input type="text" name="lname" placeholder="last name" value="<?php echo $row['last_name'] ?>" /></td></tr>
<tr><td><input type="text" name="city" placeholder="city" value="<?php echo $row['user_city'] ?>" /></td></tr>
<tr><td><button type="submit" name="update">update</button></td></tr>
</table>
</form>
</table>
</center>
</body>
</html>
dbcrud.php
<?php
include_once 'inc/class.crud.php';
$crud = new CRUD();
if(isset($_POST['save']))
{
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$city = $_POST['city'];
// insert
$crud->create($fname,$lname,$city);
// insert
header("Location: index.php");
}
if(isset($_GET['del_id']))
{
$id = $_GET['del_id'];
$crud->delete($id);
header("Location: index.php");
}
if(isset($_POST['update']))
{
$id = $_GET['edt_id'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$city = $_POST['city'];
$crud->update($fname,$lname,$city,$id);
header("Location: index.php");
}
?>
style.css
@charset "utf-8";
/* CSS Document */
* { margin:0; padding:0; }
#header
{
text-align:center;
width:100%;
height:50px;
background:#00a2d1;
color:#f9f9f9;
font-weight:bolder;
font-family:Verdana, Geneva, sans-serif;
font-size:35px;
}
table,td
{
width:40%;
padding:15px;
border:solid #e1e1e1 1px;
font-family:Verdana, Geneva, sans-serif;
border-collapse:collapse;
}
#dataview
{
margin-top:100px;
position:relative;
bottom:50px;
}
#dataview input
{
width:100%;
height:40px;
border:0; outline:0;
font-family:Verdana, Geneva, sans-serif;
padding-left:10px;
}
#dataview button
{
width:200px;
height:40px;
border:0; outline:0;
font-family:Verdana, Geneva, sans-serif;
padding-left:10px;
}
footer { margin-top:50px; position:relative; bottom:50px; font-family:Verdana, Geneva, sans-serif; }
No comments:
Post a Comment