Build a CRUD Operation using PHP & MongoBD

Build a CRUD Operation using PHP & MongoBD

In this tutorial. I would like to share with you full source code of insert update delete and view application using PHP Mongodb. We will use Mongodb as Database. We will create step by step add update delete module using PHP MongoDB.

Using this example you can easily use mongodb query like find, select, insert, update, delete, search etc in php. also you can learn how to make connection between php and mongodb.

As we know mongodb is a very popular open source, document based NoSQL database. if you have large number of data or if it can become more data on database then you should use Mongodb as database. Mongodb is a document based NoSQL database that way it store data in less memory and you can fetch quick records.

So, you need to just follow bellow step and will get full example of crud application. you can also download full script in free. But make sure you need to install mongodb and composer in your system.

Step 1: Create MongoDB database

First thing is, we require to create mongodb database and books collection. So successful MongoDB installation open the terminal, connect to MongoDB, create a database and collection and insert a books like as bellow command.

mongo

> use hddatabase

> db.books.insert( { "name": "laravel", "detail": "test" } )

Step 2: Install mongodb/mongodb Library

In this step we need to install mongodb/mongodb library via the Composer package manager. so first we will create root folder for php and then run bellow command in your terminal:

composer require mongodb/mongodb

Step 3: Create Config File for CRUD App

here we will create configuration file for crud app. in this file we will write code for connection with mongodb. so let's create file and put bellow code. Make sure you need to set port, url, username and password.

Also database and collection name. our database is "hddatabase" and "books" is our collection.

config.php

<?php


require_once __DIR__ . "/vendor/autoload.php";


$collection = (new MongoDB\Client)->hddatabase->books;


?>

Step 4: Create index create edit delete files

At last step, we need to create index.php, created.php, edit.php and delete.php file. so let's create files at bellow:

index.php

<?php

   session_start();

?>

<!DOCTYPE html>

<html>

<head>

   <title>PHP & MongoDB - CRUD Operation Tutorials - ItSolutionStuff.com</title>

   <link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">

</head>

<body>


<div class="container">

<h1>PHP & MongoDB - CRUD Operation Tutorials - ItSolutionStuff.com</h1>


<a href="create.php" class="btn btn-success">Add Book</a>


<?php


   if(isset($_SESSION['success'])){

      echo "<div class='alert alert-success'>".$_SESSION['success']."</div>";

   }


?>


<table class="table table-borderd">

   <tr>

      <th>Name</th>

      <th>Details</th>

      <th>Action</th>

   </tr>

   <?php


      require 'config.php';


      $books = $collection->find([]);


      foreach($books as $book) {

         echo "<tr>";

         echo "<td>".$book->name."</td>";

         echo "<td>".$book->detail."</td>";

         echo "<td>";

         echo "<a href='edit.php?id=".$book->_id."' class='btn btn-primary'>Edit</a>";

         echo "<a href='delete.php?id=".$book->_id."' class='btn btn-danger'>Delete</a>";

         echo "</td>";

         echo "</tr>";

      };


   ?>

</table>

</div>


</body>

</html>

create.php

<?php


session_start();


if(isset($_POST['submit'])){


   require 'config.php';


   $insertOneResult = $collection->insertOne([

       'name' => $_POST['name'],

       'detail' => $_POST['detail'],

   ]);


   $_SESSION['success'] = "Book created successfully";

   header("Location: index.php");

}


?>


<!DOCTYPE html>

<html>

<head>

   <title>PHP & MongoDB - CRUD Operation Tutorials - ItSolutionStuff.com</title>

   <link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">

</head>

<body>


<div class="container">

   <h1>Create Book</h1>

   <a href="index.php" class="btn btn-primary">Back</a>


   <form method="POST">

      <div class="form-group">

         <strong>Name:</strong>

         <input type="text" name="name" required="" class="form-control" placeholder="Name">

      </div>

      <div class="form-group">

         <strong>Detail:</strong>

         <textarea class="form-control" name="detail" placeholder="Detail" placeholder="Detail"></textarea>

      </div>

      <div class="form-group">

         <button type="submit" name="submit" class="btn btn-success">Submit</button>

      </div>

   </form>

</div>


</body>

</html>

edit.php

<?php


session_start();


require 'config.php';


if (isset($_GET['id'])) {

   $book = $collection->findOne(['_id' => new MongoDB\BSON\ObjectID($_GET['id'])]);

}


if(isset($_POST['submit'])){


   $collection->updateOne(

       ['_id' => new MongoDB\BSON\ObjectID($_GET['id'])],

       ['$set' => ['name' => $_POST['name'], 'detail' => $_POST['detail'],]]

   );


   $_SESSION['success'] = "Book updated successfully";

   header("Location: index.php");

}


?>


<!DOCTYPE html>

<html>

<head>

   <title>PHP & MongoDB - CRUD Operation Tutorials - ItSolutionStuff.com</title>

   <link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">

</head>

<body>


<div class="container">

   <h1>Create Book</h1>

   <a href="index.php" class="btn btn-primary">Back</a>


   <form method="POST">

      <div class="form-group">

         <strong>Name:</strong>

         <input type="text" name="name" value="<?php echo $book->name; ?>" required="" class="form-control" placeholder="Name">

      </div>

      <div class="form-group">

         <strong>Detail:</strong>

         <textarea class="form-control" name="detail" placeholder="Detail" placeholder="Detail"><?php echo $book->detail; ?></textarea>

      </div>

      <div class="form-group">

         <button type="submit" name="submit" class="btn btn-success">Submit</button>

      </div>

   </form>

</div>


</body>

</html>

delete.php

<?php


session_start();

require 'config.php';


$collection->deleteOne(['_id' => new MongoDB\BSON\ObjectID($_GET['id'])]);


$_SESSION['success'] = "Book deleted successfully";

header("Location: index.php");


?>

Now, you can run at your local.

You can also download from bellow link.

I hope it can help you....

php mongodb database web-development

What's new in Bootstrap 5 and when Bootstrap 5 release date?

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Random Password Generator Online

HTML Color Picker online | HEX Color Picker | RGB Color Picker

PHP Web Application Development Company

As a top **PHP Web Application Development Company in USA**[https://www.dataeximit.com/php-development-services/](https://www.dataeximit.com/php-development-services/ "https://www.dataeximit.com/php-development-services/"), we at Data EximIT have...

PHP Website Development

Skenix Infotech is a leading PHP Web Development Company that helps companies get results with industry best practices. Get affordable PHP Development Services.

Hire Dedicated PHP Developer

Looking to hire affordable yet experienced PHP developers? **[Hire Dedicated PHP Developer](https://hourlydeveloper.io/hire-dedicated-php-developer/ "Hire Dedicated PHP Developer")**, who can convert your idea to reality, within the stipulated...

Advantages of Hiring PHP Developer for your Website Project

PHP - Hypertext pre-processor, a scripting language used by many people in developing web pages, but most of us are unaware even of the full form. To train someone and make them learn this whole language is as difficult and time-consuming as it is...

MongoDB Web development Services, Company in Chandigarh- QServices Inc

QServices Inc endow you with the wide spectrum of MongoDb database development services to build innovative, high-tech & versatile mobile and web applications with cutting edge database for numerous business requirements.