使用PHP和Mongodb进行CRUD操作
在本节中,我们将执行查看、插入、删除和更新操作。我们将使用PHP和Mongodb来完成这些操作。我们应用中使用的数据库是MongoDB。创建、更新、删除模块的逐步过程如下所述。在PHP中,可以通过给定的示例轻松使用MongDB的各种操作,例如更新、添加、查找、搜索、删除、选择等。本示例还将介绍MongoDB与PHP之间的连接。
这是一个开源且非常著名的数据库MongoDB。它是基于文档的NoSQL数据库。如果数据库中有更多数据或包含大量数据,我们将在我们的应用中使用MongoDB数据库。MongoDB数据库使用更少的内存存储数据,并且可以用于快速获取记录。操作步骤如下所述:
步骤1
在这一步骤中,我们将创建MongoDB数据库。在我们的示例中,我们需要创建书籍集合和MongoDB数据库。当我们成功安装MongoDB数据库后,我们将使用命令提示符连接到MongoDB。为了连接,我们将创建一个数据库,然后创建一个集合。之后,我们将使用以下命令插入书籍:
mongo
> use hddatabase
> db.books.insert( { "name": "laravel", "detail": "test" } )
步骤2:
在这一步骤中,我们将安装MongoDB和MongoDB库。在我们的应用程序中,我们将使用Composer软件包管理器来进行安装。为此,我们将在根目录下创建一个文件夹。之后,我们将打开命令提示符并运行以下命令:
composer require mongodb/mongodb
步骤3:
在此步骤中,我们将为CRUD应用程序创建配置文件。创建配置文件后,我们将使用它来与MongoDB建立连接。创建文件并建立连接的代码如下所示。为此,我们还要设置用户名、端口、密码和URL。我们还将设置集合名称和数据库。我们将描述“books”作为集合名称,而“hddatabase”作为数据库。
config.php
<?php
require_once __DIR__ . "/vendor/autoload.php";
$collection = (new MongoDB\Client)->hddatabase->books;
?>
步骤4:
在这一步中,我们将创建索引、创建、编辑和删除文件。为此,我们将创建许多文件,例如edit.php、index.php、create.php和delete.php。创建这些文件的命令如下所述:
index.php
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title> CRUD Operation using MongoDB and PHP </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> CRUD Operation using MongoDB and PHP </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 asbook) {
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'] = "Creation of Book is successful";
header("Location: index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title> CRUD Operation using MongoDB and PHP </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'] = "Updating of Book is successful";
header("Location: index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title> CRUD Operation using MongoDB and PHP </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 echobook->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>
现在我们的上面的代码已经准备好了,我们可以在本地上运行它。当我们运行它时,将生成以下输出: