ELEVATE YOUR BUSINESS WITH

Limitless customization options & Elementor compatibility let anyone create a beautiful website with Valiance.

Database in Ajax

SELECT * FROM `itio_tutorial_master` WHERE `tutorial_menu`='13' AND `tutorial_submenu`='1096' AND `tutorial_status`=1 LIMIT 1

Database in Ajax

In AJAX (Asynchronous JavaScript and XML), interacting with a database typically involves sending data from the client-side (browser) to the server-side (web server) where the database resides. The server processes the request (e.g., querying or updating a database), and then sends the response back to the client. This allows web applications to dynamically retrieve or modify data without reloading the page.

To interact with a database in an AJAX-based application, the usual flow involves:

  1. Client-side (AJAX request): Sending data to the server using JavaScript.
  2. Server-side (PHP, Node.js, Python, etc.): Receiving the request, querying the database, and processing the data.
  3. Response (AJAX): Sending the data (or results of the database query) back to the client.

Below are examples that demonstrate how you can use AJAX to interact with a database (like MySQL or MongoDB) via a server-side script (PHP for MySQL, Node.js for MongoDB).


1. Using AJAX with PHP and MySQL (Get Data from Database)

In this example, we'll retrieve data from a MySQL database using AJAX and PHP.

1.1 Database Setup (MySQL)

Assume you have a MySQL database named users_db with a table users that looks like this:

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));

1.2 PHP Backend (get_data.php)

This PHP script will handle the request and fetch data from the MySQL database.

<?php

// Connect to the database$servername = "localhost";$username = "root";$password = "";$dbname = "users_db";// Create connection$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) { die("Connection failed: " . $conn->connect_error);}// SQL query to fetch data$sql = "SELECT id, name, email FROM users";$result = $conn->query($sql);// Check if there are resultsif ($result->num_rows > 0) { // Fetch all rows and return as JSON $users = array(); while($row = $result->fetch_assoc()) { $users[] = $row; } echo json_encode($users); // Return data as JSON} else { echo json_encode([]); // Return an empty array if no data}$conn->close();?>

1.3 Frontend (AJAX Request)

This HTML file uses AJAX to call the get_data.php script to fetch data from the database.

<!DOCTYPE html>

<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AJAX with PHP and MySQL</title></head><body> <h1>Users List</h1> <button onclick="loadData()">Load Users</button> <ul id="user-list"></ul> <script> function loadData() { const xhr = new XMLHttpRequest(); xhr.open("GET", "get_data.php", true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { const users = JSON.parse(xhr.responseText); const list = document.getElementById('user-list'); list.innerHTML = ''; // Clear existing list items users.forEach(function(user) { const li = document.createElement('li'); li.textContent = `Name: ${user.name}, Email: ${user.email}`; list.appendChild(li); }); } }; xhr.send(); // Send the request } </script></body></html>

Explanation:

  • When the "Load Users" button is clicked, the loadData() function sends a GET request to get_data.php.
  • The PHP script queries the database for all users and returns the data as a JSON response.
  • The response is parsed in JavaScript, and the user information is dynamically inserted into the HTML <ul> list.

2. Using AJAX with Node.js and MongoDB (Insert Data into Database)

Now, let's use AJAX with Node.js to interact with a MongoDB database.

2.1 MongoDB Setup

Assume you have MongoDB installed and running, and a collection named users that contains documents like this:

{

"_id": ObjectId("605c72ef15320715d42cf891"), "name": "John Doe", "email": "john@example.com"}

2.2 Backend (Node.js with Express)

To interact with MongoDB, we'll use the mongoose package. First, install the necessary packages:

npm install express mongoose body-parser

Create a simple Node.js server to insert data into MongoDB.

server.js:

const express = require('express');

const mongoose = require('mongoose');const bodyParser = require('body-parser');const app = express();const port = 3000;// Connect to MongoDBmongoose.connect('mongodb://localhost:27017/users_db', { useNewUrlParser: true, useUnifiedTopology: true});// Define a user schema and modelconst User = mongoose.model('User', { name: String, email: String});// Middleware to parse JSON requestsapp.use(bodyParser.json());// Route to insert dataapp.post('/add_user', (req, res) => { const { name, email } = req.body; const newUser = new User({ name, email }); newUser.save((err, user) => { if (err) { return res.status(500).send('Error inserting user'); } res.json({ message: 'User added successfully', user }); });});app.listen(port, () => { console.log(`Server running on http://localhost:${port}`);});

2.3 Frontend (AJAX Insert Data)

The following HTML form allows users to submit their name and email, which are then inserted into MongoDB via an AJAX request.

<!DOCTYPE html>

<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AJAX with Node.js and MongoDB</title></head><body> <h1>Add a User</h1> <form id="user-form"> <label for="name">Name: </label> <input type="text" id="name" name="name" required><br> <label for="email">Email: </label> <input type="email" id="email" name="email" required><br> <button type="submit">Add User</button> </form> <div id="response"></div> <script> document.getElementById('user-form').addEventListener('submit', function(event) { event.preventDefault(); const name = document.getElementById('name').value; const email = document.getElementById('email').value; const xhr = new XMLHttpRequest(); xhr.open('POST', 'http://localhost:3000/add_user', true); xhr.setRequestHeader('Content-Type', 'application/json'); // Send user data to the server const userData = JSON.stringify({ name, email }); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { const response = JSON.parse(xhr.responseText); document.getElementById('response').innerText = response.message; } }; xhr.send(userData); // Send data as JSON }); </script></body></html>

Explanation:

  • When the form is submitted, the user-form event listener sends a POST request to http://localhost:3000/add_user.
  • The name and email are sent to the server as JSON.
  • The server inserts the new user into the MongoDB database and sends a success message back to the client.
  • The success message is displayed in the response div.

Conclusion

AJAX allows for seamless interaction with databases, enabling dynamic content updates without reloading the page. Here’s a summary of what we've covered:

  • PHP & MySQL: Used for fetching data from a MySQL database and sending it to the client.
  • Node.js & MongoDB: Used for inserting data into a MongoDB database using AJAX.

In both examples, the flow involves:

  1. Sending an AJAX request to a backend script.
  2. The backend script interacts with the database (via SQL or NoSQL).
  3. The backend sends the result back to the frontend.
  4. The frontend dynamically updates the content.

This approach improves the user experience by reducing page reloads and providing real-time data updates.

Disclaimer for AI-Generated Content:
The content provided in these tutorials is generated using artificial intelligence and is intended for educational purposes only.
html
docker
php
kubernetes
golang
mysql
postgresql
mariaDB
sql