Friday, June 27, 2025

Count days between two dates

 Here I am explaining code for count days between two dates.





<!DOCTYPE html>


<html lang="en">

<head>

<meta charset="UTF-8">

<title>Date Difference - Years, Months, Days</title>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

</head>

<body class="p-4">




<div class="container">

<h3 class="mb-4">વાદગ્રસ્ત હુકમ તારીખ અને દાખલ તારીખ : વર્ષો, મહિનાઓ અને દિવસોની ગણતરી કરો</h3>

<div class="row mb-3">

<div class="col-md-6">

<label for="date1" class="form-label">વાદગ્રસ્ત હુકમ તારીખ (dd/mm/yyyy)</label>

<input type="text" id="date1" class="form-control" placeholder="dd/mm/yyyy">

</div>




<div class="col-md-6">

<label for="date2" class="form-label">દાખલ તારીખ (default: today)</label>

<input type="date" id="date2" class="form-control">

</div>

</div>




<div id="reultdiv"></div>

</div>




<script>

document.getElementById('date2').valueAsDate = new Date();




document.getElementById('date1').addEventListener('change', calculate);

document.getElementById('date2').addEventListener('change', calculate);




function calculate() {

document.getElementById("reultdiv").innerHTML = '';




const date1Str = document.getElementById('date1').value;

const date2Str = document.getElementById('date2').value;




const parts = date1Str.split('/');

if (parts.length !== 3) return;




const d1 = new Date(`${parts[2]}-${parts[1]}-${parts[0]}`);

const d2 = new Date(date2Str);

if (isNaN(d1.getTime()) || isNaN(d2.getTime())) return;




let output = '';




// Helper function to calculate and return HTML

function getAlertHTML(label, className, from, to) {

let totalDays = Math.floor((to - from) / (1000 * 60 * 60 * 24));

if (totalDays < 0) return ''; // skip if invalid range




let years = to.getFullYear() - from.getFullYear();

let months = to.getMonth() - from.getMonth();

let days = to.getDate() - from.getDate();




if (days < 0) {

months--;

let temp = new Date(to.getFullYear(), to.getMonth(), 0);

days += temp.getDate();

}




if (months < 0) {

years--;

months += 12;

}




return `

<div class="alert ${className}" role="alert">

<strong>${label}</strong><br>

🗓 <strong>કુલ દિવસો:</strong> ${totalDays} દિવસ<br>

📅 <strong>અવધિ:</strong> ${years} વર્ષ, ${months} મહિના, ${days} દિવસ

</div>

`;

}




// 🔹 Primary calculation

if (d1 <= d2) {

output += getAlertHTML("પ્રાથમિક ગણતરી", "alert-primary", d1, d2);

}




// 🔹 30 days check

let d30 = new Date(d2);

d30.setDate(d30.getDate() - 30);

if (d1 <= d30) {

output += getAlertHTML("30 દિવસ પહેલાની ગણતરી", "alert-info", d1, d30);

}




// 🔹 60 days check

let d60 = new Date(d2);

d60.setDate(d60.getDate() - 60);

if (d1 <= d60) {

output += getAlertHTML("60 દિવસ પહેલાની ગણતરી", "alert-warning", d1, d60);

}




// 🔹 90 days check

let d90 = new Date(d2);

d90.setDate(d90.getDate() - 90);

if (d1 <= d90) {

output += getAlertHTML("90 દિવસ પહેલાની ગણતરી", "alert-danger", d1, d90);

}




document.getElementById("reultdiv").innerHTML = output;

}

</script>




</body>

</html>

mysqli database query for count views, join and select some rows

 Here I am giving some useful mysql queries. If you check it, you will understand, which query is suitable for your project.

function getChatUserNames(){

global $db_conx;

$sql = "SELECT 

    c1.fname AS username_first_name,

    c1.mname AS username_m_name,

    c1.lname AS username_last_name,

    c1.custid AS uchatid,

    c1.uid,

    GROUP_CONCAT(DISTINCT CONCAT(c2.custid, ' - ', c2.fname, ' ', c2.lname) SEPARATOR '<br> ') AS chat_with_list

FROM 

    candidate c1

LEFT JOIN 

    (

        SELECT from_user_id AS user_id, to_user_id AS chat_with_user

        FROM chat_message

        UNION

        SELECT to_user_id AS user_id, from_user_id AS chat_with_user

        FROM chat_message

    ) AS cm_combined

    ON c1.custid = cm_combined.user_id

LEFT JOIN 

    candidate c2 ON c2.custid = cm_combined.chat_with_user

GROUP BY 

    c1.custid

";

$select = mysqli_query($db_conx,$sql);

while($row = mysqli_fetch_assoc($select)){

$ret[] = $row;

}

return $ret;

}


function getAllChatDataAdmin($user1, $user2){ 

global $db_conx; 

$ret = array();


//check block

$sql = "SELECT id FROM block_table WHERE user_id = '".$user1."' AND blocked_user_id = '". $user2."'  ";

    $select = mysqli_query($db_conx, $sql);

    $blockCheck = (mysqli_num_rows($select) == 0) ? '0' : '1';


    //get chat data

$query = "

    SELECT a.fname as from_user_name, b.fname as to_user_name, cm.chat_message, cm.timestamp,  cm.to_user_id, cm.from_user_id, cm.status

    FROM chat_message cm

    INNER JOIN candidate a

    ON cm.from_user_id = a.custid

    INNER JOIN candidate b

    ON cm.to_user_id = b.custid

    WHERE (cm.from_user_id = $user2 AND cm.to_user_id = $user1 ) 

    OR (cm.from_user_id = $user1 AND cm.to_user_id = $user2 )

    ";


    $chatdata = mysqli_query($db_conx,$query);

    while($row = mysqli_fetch_assoc($chatdata)){

    //$row['blockCheck'] = $blockCheck; //insert blockcheck variable

$ret[] = $row;

}


return $ret;

}

//15-06-2025

function getInterestMsgText($tocid){

global $db_conx;

$fromid = $_SESSION['cid'];

$sql = "SELECT * FROM interestmsg WHERE toid = '".$tocid."' AND fromid = '".$fromid."' AND status = 1 ";

$result = mysqli_query($db_conx, $sql);

return $row = mysqli_fetch_assoc($result);

}

function getInterestMsgs(){

global $db_conx;

$tocid = $_SESSION['cid'];

$sql = "SELECT i.*, c.uid as cuid, c.fname, c.lname 

FROM interestmsg i

LEFT JOIN candidate c On i.fromid = c.custid

WHERE i.toid = '".$tocid."' AND i.status = 1 

ORDER BY i.updateddate ASC";

$select = mysqli_query($db_conx, $sql);

while($row = mysqli_fetch_assoc($select)){

$ret[] = $row;

}

return $ret;

}

function sentInterestMsgs(){

global $db_conx;

$fromid = $_SESSION['cid'];

$sql = "SELECT i.*, c.uid as cuid, c.fname, c.lname 

FROM interestmsg i

LEFT JOIN candidate c On i.toid = c.custid

WHERE i.fromid = '".$fromid."' AND i.status = 1 

ORDER BY i.updateddate ASC";

$select = mysqli_query($db_conx, $sql);

while($row = mysqli_fetch_assoc($select)){

$ret[] = $row;

}

return $ret;

}