Insert and edit Mysql data in modal

How to insert and edit Mysql data with modal using php

Source code

config.php

								
									<?php 
									// DB credentials.
									define('DB_HOST','localhost');
									define('DB_USER','root');
									define('DB_PASS','');
									define('DB_NAME','modaldb');
									// Establish database connection.
									try
									{
									$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER, DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
									}
									catch (PDOException $e)
									{
									exit("Error: " . $e->getMessage());
									}
									?>
								
							

index.php

								
									<?php
									session_start();
									error_reporting(0);
									include "config.php";

									?>

									<!DOCTYPE HTML>
									<html lang="en">
									<head>
										<meta charset="utf-8">
										<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
										<title>How to Insert Mysql data with modal</title>
										<!--Bootstrap -->
										<link rel="stylesheet" href="css/bootstrap.css" type="text/css">
										<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css">
									</head>
									<body>
										<div class="container">
											<div> </div>
											<h3>How to insert Mysql data with modal</h3>
											<div class="  d-flex flex-row align-items-center justify-content-between">
												<h6 class="m-0 font-weight-bold text-primary">Add product</h6>
												<div class="card-tools" style="float: right;">
													<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#deposit" ><i class="fas fa-plus" ></i> Add Product
													</button>
												</div>
											</div>
											<div> </div>
											<div class="row ">
												<table id="" class="table table-bordered">
													<thead>
														<tr>
															<th class="text-center">No</th>
															<th>Product Name</th>
															<th class="text-center"> Product Category</th>
															<th class="text-center"> Product Price</th>
															<th class="text-center">Posting Date</th>
														</tr>
													</thead>

													<tbody>
														<?php
														$sql="SELECT * from tblproducts ORDER BY id DESC";
														$query = $dbh -> prepare($sql);
														$query->execute();
														$results=$query->fetchAll(PDO::FETCH_OBJ);
														$cnt=1;
														if($query->rowCount() > 0)
														{
															foreach($results as $row)
															{ 
																?>
																<tr>
																	<td class="text-center"><?php echo htmlentities($cnt);?></td>
																	<td><?php  echo htmlentities($row->ProductName);?></td>
																	<td class="text-center"><?php  echo htmlentities($row->CategoryName);?></td>
																	<td class="text-center"><?php  echo htmlentities($row->ProductPrice);?></td>
																	<td class="text-center"><?php  echo htmlentities(date("d-m-Y", strtotime($row->PostingDate)));?></td>
																	
																</tr>
																<?php
																$cnt=$cnt+1;
															}
														} ?>
													</tbody>
												</table>
											</div>
											<!-- start modal -->
											<div class="modal fade" id="deposit">
												<div class="modal-dialog modal-md">
													<div class="modal-content">
														<div class="modal-header">
															<h4 class="modal-title">Register New Product</h4>
															<button type="button" class="close" data-dismiss="modal" aria-label="Close">
																<span aria-hidden="true">×</span>
															</button>
														</div>
														<div class="modal-body">
															<?php @include("newproduct_form.php");?>
														</div>

													</div>
													<!-- /.modal-content -->
												</div>
												<!-- /.modal-dialog -->
											</div>
											<!-- /.modal -->
										</div>
										<!-- Loading Scripts -->
										<script src="js/jquery.min.js"></script>
										<script src="js/bootstrap-select.min.js"></script>
										<script src="js/bootstrap.min.js"></script>
										<script src="js/jquery.dataTables.min.js"></script>
										<script src="js/dataTables.bootstrap.min.js"></script>
										<script type="text/javascript">
											$(document).ready(function(){
												$(document).on('click','.edit_data4',function(){
													var edit_id4=$(this).attr('id');
													$.ajax({
														url:"edit_product.php",
														type:"post",
														data:{edit_id4:edit_id4},
														success:function(data){
															$("#info_update4").html(data);
															$("#editData4").modal('show');
														}
													});
												});
											});
										</script>
									</body>
									</html>
								
							

newproduct_form.php

								
									<?php 
									session_start();
									error_reporting(0);
									include('config.php');
									if(isset($_POST['save']))
									{
									  $category=$_POST['category'];
									  $product=$_POST['product'];
									  $price=$_POST['price'];
									  $sql="insert into tblproducts(CategoryName,ProductName,ProductPrice)values(:category,:product,:price)";
									  $query=$dbh->prepare($sql);
									  $query->bindParam(':category',$category,PDO::PARAM_STR);
									  $query->bindParam(':product',$product,PDO::PARAM_STR);
									  $query->bindParam(':price',$price,PDO::PARAM_STR);
									  $query->execute();
									  $LastInsertId=$dbh->lastInsertId();
									  if ($LastInsertId>0) 
									  {
									    echo '<script>alert("Registered successfully")</script>';
									    echo "<script>window.location.href ='index.php'</script>";
									  }
									  else
									  {
									    echo '<script>alert("Something Went Wrong. Please try again")</script>';
									  }
									}
									?>

									<form class="forms-sample" method="post" enctype="multipart/form-data" class="form-horizontal">
									  <div class="row ">
									    <div class="form-group col-md-6 ">
									      <label>Product Category</label>
									      <select  name="category"  class="form-control" required>
									        <option value="">Select Category</option>
									        <?php
									        $sql="SELECT * from  tblcategory";
									        $query = $dbh -> prepare($sql);
									        $query->execute();
									        $results=$query->fetchAll(PDO::FETCH_OBJ);
									        if($query->rowCount() > 0)
									        {
									          foreach($results as $row)
									          {
									            ?>
									            <option value="<?php  echo $row->CategoryName;?>"><?php  echo $row->CategoryName;?></option>
									            <?php 
									          }
									        } ?>
									      </select>
									    </div>
									    <div class="form-group col-md-6">
									      <label>Product Name </label>
									      <input type="text" name="product" class="form-control" value="" id="product" placeholder="Enter Product" required>
									    </div>
									  </div>
									  <div class="row ">
									    <div class="form-group col-md-6">
									      <label>Product Price</label>
									      <input type="text" name="price" value="" placeholder="Enter Price" class="form-control" id="price"required>
									    </div>

									  </div>
									  <button type="submit" style="float: left;" name="save" class="btn btn-primary  mr-2 mb-4">Save</button>
									</form>
								
							

edit_product.php

								
									<?php
									session_start();
									error_reporting(0);
									include('config.php');
									if(isset($_POST['insert']))
									{
									    $eib= $_SESSION['editbid'];
									    $category=$_POST['category'];
									    $product=$_POST['product'];
									    $price=$_POST['price'];
									    $sql4="update tblproducts set CategoryName=:category,ProductName=:product,ProductPrice=:price where tblproducts.id=:eib";
									    $query=$dbh->prepare($sql4);
									    $query->bindParam(':category',$category,PDO::PARAM_STR);
									    $query->bindParam(':product',$product,PDO::PARAM_STR);
									    $query->bindParam(':price',$price,PDO::PARAM_STR);
									    $query->bindParam(':eib',$eib,PDO::PARAM_STR);
									    $query->execute();
									    if ($query->execute())
									    {
									        echo '<script>alert("updated successfuly")</script>';
									        echo "<script>window.location.href = 'index.php'</script>"; 
									    }else{
									        echo '<script>alert("update failed! try again later")</script>';
									    }
									}
									?>
									<div class="card-body">
									    <?php
									    $eid=$_POST['edit_id4'];
									    $sql2="SELECT * from tblproducts where id=:eid";
									    $query2 = $dbh -> prepare($sql2);
									    $query2-> bindParam(':eid', $eid, PDO::PARAM_STR);
									    $query2->execute();
									    $results=$query2->fetchAll(PDO::FETCH_OBJ);
									    if($query2->rowCount() > 0)
									    {
									        foreach($results as $row)
									        {
									            $_SESSION['editbid']=$row->id;
									            ?>

									            <form class="form-sample"  method="post" enctype="multipart/form-data">
									                <div class="row">
									                    <div class="form-group col-md-12">
									                        <label class="col-sm-12 pl-0 pr-0">Category Name</label>
									                        <div class="col-sm-12 pl-0 pr-0">
									                            <input type="text" name="category" id="category" class="form-control" value="<?php  echo $row->CategoryName;?>" required />
									                        </div>
									                    </div>
									                </div>
									                <div class="row">
									                    <div class="form-group col-md-12">
									                        <label class="col-sm-12 pl-0 pr-0">Product Name</label>
									                        <div class="col-sm-12 pl-0 pr-0">
									                            <input type="text" name="product" value="<?php  echo $row->ProductName;?>" class="form-control" required>
									                        </div>
									                    </div>
									                </div>
									                <div class="row">
									                    <div class="form-group col-md-12 ">
									                        <label class="col-sm-12 pl-0 pr-0">Product Price</label>
									                        <div class="col-sm-12 pl-0 pr-0">
									                            <input type="text" name="price" value="<?php  echo $row->ProductPrice;?>" class="form-control" required>
									                        </div>
									                    </div>
									                </div>
									                <button type="submit" name="insert" class="btn btn-primary btn-fw mr-2" style="float: left;">Update</button>
									            </form>
									            <?php 
									        }
									    } ?>
									</div>
								
							
Download

Comments

Paul Dickson

Thank you very much for teaching world

Jane Rich

I like this code how can I support you .

Dorah krala

This code worked for me 100% thank you.

Leave a Comment:

You Might Also Like

hostel booking

Hostel booking management system
Learn More
.

car rental

Car rental management system in Php
Learn More
.

student details

Student details management system
Learn More
.

Tourism

Tourism management system in Php and Mysql
Learn More

Latest Tutorial

sweet alerts

How to delete table row using sweet alert2
Learn More

piechart

How to create piechart with Mysql data
Learn More

register and login

How to register and login in php
Learn More

edit data

How to edit Mysql data in modal using php
Learn More