Search This Blog

Showing posts with label Nodejs. Show all posts
Showing posts with label Nodejs. Show all posts

08 September 2021

Node JS using CRUD with MySql

 

Node JS

 

Node js Using CRUD Operation With Mysql DB

Prerequisites:

1.     Nodejs

2.     Expressjs

3.     Mysql

4.     EJS

5.     Body Parser

Steps:

·        Create Directory Mkdir node_crud

·        Npm init –y  Type this command automatically  Created Package.json

·        Then Install Dependencies

·        Npm install –save express ejs body-parser mysql nodemon

·        Switch root directory create index.js or else whatever you want file name

·        Write some codes in index.js file

 

Index.js:

const express=require('express');

const mysql=require('mysql');

const bodyparser=require('body-parser');

const ejs=require('ejs');

const path=require('path');

const session = require('express-session');

const app = express();


const conn=mysql.createConnection({

    host:'localhost',

    username:'root',

    password:'',

    database:'test'

});


conn.connect(function(error){

if(!error){

console.log("conncetion succesfully");

}else{

    console.log(error);

}

})



app.set('views', path.join(__dirname, 'public'));

app.set('view engine','ejs');

app.use(bodyparser.json());

app.use(bodyparser.urlencoded({ extended: false }));


app.use(session({secret:"Helloworld@123;"}));



app.get("/",(req,res)=>{

    var sql="select * from booking";

   // var cnt=req.session.cnt++;

    var query=conn.query(sql,(err,rows)=>{

        res.render('index',{           

            data:rows,

           //pagecnt:cnt

        });

    });


})


app.get("/signup",(req,res)=>{

    res.render('signup');

    })



app.get("/login",(req,res)=>{

res.render("login");

});


app.post("/authenticate",(req,res)=>{

var name=req.body.title;

var no=req.body.mobile_no;

var sql="select * from booking where Title='"+name+"' and mobile='"+no+"'";

var query=conn.query(sql,(err,result)=>{

    if(result.length > 0 ){

req.session.username=name;        

res.send("Valid Credentials welcome Mr/Ms  "+req.session.username); 

    }else{

        res.send("Not Valid Credentials");

    }

})

});


app.post("/register",(req,res)=>{

var title=req.body.title;

var mobile=req.body.mobile_no;

var start=req.body.start;

var end=req.body.end;

var sql="insert into booking values(NULL,'"+title+"','"+mobile+"','"+start+"','"+end+"')";

var query=conn.query(sql,(err,result)=>{

    res.redirect("/");

})


});





app.post("/update",(req,res)=>{

    var title=req.body.title;

    var mobile=req.body.mobile_no;

    var start=req.body.start;

    var end=req.body.end;

    var id=req.body.id;

    var sql="update booking set Title='"+title+"',mobile='"+mobile+"',Start='"+start+"',End='"+end+"' where Id='"+id+"'"

   

    var query=conn.query(sql,(err,result)=>{

        res.redirect("/");

    })

    

    });


app.get("/edit/:id",(req,res)=>{

var id=req.params.id;

var sql="select * from booking where Id='"+id+"'";

var query=conn.query(sql,(err,records)=>{

    res.render("edit",{

        user_details:records

    })

    //res.send(records);

})

});


app.get("/delete/:id",(req,res)=>{

 var id=req.params.id;

 var sql="delete from booking where Id='"+id+"'";

var query=conn.query(sql,(err,results)=>{


res.redirect("/");

});

});



app.listen(2000,()=>{

    console.log("running");

})

// HTML files

Index.ejs:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

    

</head>

<body>


    <div class="container">

        <h2 class="text-center">Crud Using Nodejs</h2>

        <br>

        <br>

        

        <a href="/signup" class="btn btn-success">Register</a>

        <a href="/login" class="btn btn-info">Login</a>

        <table class="table table-responsive table-striped">

          <thead>

            <tr>

              <th>Title</th>

              <th>Mobile</th>

              <th>Start</th>

              <th>End</th>

              <th>Action</th>

              <th>Action</th>

            </tr>

          </thead>

          <tbody>

            <% data.forEach(function(row){%> 

            <tr>

              <td><%= row.Title %></td>

              <td><%= row.mobile %></td>

              <td><%= row.Start %></td>

              <td><%= row.End %></td>

              <td><a href="/edit/<%= row.Id %>" class="btn btn-info">Edit</a></td>

              <td><a href="/delete/<%= row.Id %>" class="btn btn-danger">Delete</a></td>

            </tr>

            <% }); %>

          </tbody>

        </table>

      </div>

      

   

    

        

    

</body>

</html>


Register.ejs:

<!DOCTYPE html>

<html lang="en">

<head>

  <title>Bootstrap Example</title>

  <meta charset="utf-8">

 

</head>

<body>


<div class="container">

  <h2>Signup form </h2>

  <form action="/register" method="post">

    <div class="form-group">

      <label for="email">Title:</label>

      <input type="text" class="form-control" id="email" placeholder="Enter Title" name="title">

    </div>

    <div class="form-group">

      <label for="pwd">Mobile:</label>

      <input type="number" class="form-control" id="pwd" placeholder="Enter Mobile" name="mobile_no">

    </div>

     <div class="form-group">

       <label>Start</label> 

       <input type="date" name="start" class="form-control" />

     </div>

     <div class="form-group">

        <label>End</label> 

        <input type="date" name="end" class="form-control" />

      </div>

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

  </form>

</div>


</body>

</html>


Edit.ejs:

<!DOCTYPE html>

<html lang="en">

<head>

  <title>Bootstrap Example</title>

  <meta charset="utf-8">


</head>

<body>


<div class="container">

  <h2>Update form </h2>

  <form action="/update" method="post">

    <div class="form-group">

      <label for="email">Title:</label>

      <input type="hidden" name="id" value="<%= user_details[0]['Id'] %>" />

      <input type="text" value="<%= user_details[0]['Title'] %>" class="form-control" id="email" placeholder="Enter Title" name="title">

    </div>

    <div class="form-group">

      <label for="pwd">Mobile:</label>

      <input type="number" value="<%= user_details[0]['mobile'] %>" class="form-control" id="pwd" placeholder="Enter Mobile" name="mobile_no">

    </div>

     <div class="form-group">

       <label>Start</label> 

       <input type="date" name="start" value="<%= user_details[0]['Start'] %>"  class="form-control" />

     </div>

     <div class="form-group">

        <label>End</label> 

        <input type="date" name="end" value="<%= user_details[0]['End'] %>" class="form-control" />

      </div>

    <button type="submit" class="btn btn-primary">Publish</button>

  </form>

</div>


</body>

</html>



File Directory Structure:
       Root
          Node_modules
          index.js
          package.json
          Public
               edit.ejs
              index.ejs             
              register.ejs
              
Then Run Node index.js

 

 

 

 

 

 

Jquery or Javascript Start Exam Time

 <script> function startTimer() {      var date = "<?php echo $date ?>"; // dynamic date      var time = "<?...