Calcul différence entre date
Bonjour à tous,
Je suis webmaster et je travaille sur une application et je souhaite afficher pour toutes les lignes d'une table le délai de traitement de dossier qui est la différence entre deux champs dates. J'ai ecris le code mysql ci-dessous, mais il ne fonctionne pas. Puis je bénéficier du conseil ou d'accompagnement pour corriger ce code ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php
$mysqli = new mysqli("localhost", "root", "", "depcentrants");
$mysqli->set_charset("utf8");
$requete = "SELECT * FROM membre";
$resultat = $mysqli->query($requete);
$date_traitement = $resultat['date_bapteme'];
$date_origine = $resultat['date_naiss'];
$delai_reponse = $date_origine->diff($date_traitement);
while ($ligne = $resultat->fetch_assoc()) {
echo $ligne['matricule'] . ' - ' . $ligne['nom'] . ' - ' . $ligne['quartier'] . ' - ' . $ligne['telephone'] . ' - <b style="color:green;">' . $ligne['profession'] . '</b> - <b style="color:red;">' . $ligne['ville'] . '</b> - ' . $ligne['delai_reponse'] . '<br>';
}
$mysqli->close();
?> |
1 pièce(s) jointe(s)
Afficher le résultat d'un DATEDIFF mysql
Bonjour à tous,
Je souhaite afficher à partir d'une base de donnée, le nom, le prénom (qui sont des colonnes dans la tables) et le nombre de jour entre la date de naissance et la date de baptême tous les deux étant également des colonnes de Type DATE. J'ai procédé en deux étapes :
Etape 1 - Requête affichant les éléments de la base tels que nom, ..., en ligne.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=depcentrants', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$request= "SELECT nom FROM `membre` ";
$reponse = $bdd->query($request);
while ($donnees = $reponse->fetch())
{
echo $donnees['nom'] . '<br />';
}
$reponse->closeCursor();
?> |
Cette requête affiche bien le résultat ci dessous:
Pièce jointe 621894
Etape 2 : Afficher sur la même ligne le nom, ...., et la différence de jour entre la date de baptême et de naissance.
Avec le code ci-dessous je voulais d'abord afficher pour tous les enregistrement de la table les différences en jour des deux dates, mais je n'y parviens pas. Ci-dessous mon code. L'objectif général est d'avoir un code comme dans la première étape qui affiche en ligne les noms, ..., et la différence de date.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=depcentrants', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$request= "SELECT DATEDIFF(day, date_bapteme, date_naiss) AS date_diff FROM `membre` ";
$reponse = $bdd->query($request);
while ($donnees = $reponse->fetch())
{
echo $donnees['nom'] . '<br />';
}
$reponse->closeCursor();
?> |
Je reste en attente de vos réactions, je suis un amateur. Veuillez s'il vous plait proposer des codes ou corriger mon code.
2 pièce(s) jointe(s)
Afficher la différence entre deux date
Merci pour la réaction, mais ca ne m'aide pas beaucoup. Ci après ce que le code recommandé donne:
Pièce jointe 621902
alors que j'ai déjà développé un code qui me donne tous les éléments que je souhaite afficher sauf la différence de date. Ci-après une illustration de ce que j'ai déjà, mais il me manque l'affichage de la différence de date telle que présenté dans la zone encerclée en rouge.
Pièce jointe 621903
Le code permettant le résultat ci-dessus le voici:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<?php
$mysqli = new mysqli("localhost", "root", "", "depcentrants");
$mysqli->set_charset("utf8");
$requete = "SELECT * FROM membre";
$resultat = $mysqli->query($requete);
while ($ligne = $resultat->fetch_assoc()) {
echo $ligne['matricule'] . ' - ' . $ligne['nom'] . ' - ' . $ligne['quartier'] . ' - ' . $ligne['telephone'] . ' - <b style="color:green;">' . $ligne['profession'] . '</b> - <b style="color:red;">' . $ligne['ville'] . '</b> <br>';
}
$mysqli->close();
?> |
Comment y insérer un code permettant de faire la différence entre deux dates et afficher le résultat à la fin d'une ligne et pour tous les enregistrements?
Afficher le résultat de DATEDIFF
Re-bonjour,
J'ai pu avancer dans mon code , mais je rencontre la difficulté de fusionner deux codes.
1 - Le code 1 ci-dessous permet d'afficher pour tous les enregistrements de la table les colonnes souhaitées ( nom - téléphone - quartier - profession - ville)
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<?php
$mysqli = new mysqli("localhost", "root", "", "depcentrants");
$mysqli->set_charset("utf8");
$requete = "SELECT * FROM membre ";
$resultat = $mysqli->query($requete);
while ($ligne = $resultat->fetch_assoc()) {
echo $ligne['matricule'] . ' - ' . $ligne['nom'] . ' - ' . $ligne['quartier'] . ' - ' . $ligne['telephone'] . ' - <b style="color:green;">' . $ligne['profession'] . '</b> - <b style="color:red;">' . $ligne['ville'] . '</b> <br>';
}
$mysqli->close();
?> |
2 - Le code 2 ci-dessous permet d'afficher pour tous les enregistrements de la table la différence entre deux dates ( date_diff), pourtant notre souhait est d'afficher tous elements affichés par le code 1, auxquels doit s'ajouter le resultat du code 2. On devrait avoir ceci : nom - téléphone - quartier - profession - ville - date_diff
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=depcentrants', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$request= "SELECT DATEDIFF( date_bapteme, date_naiss) AS date_diff FROM `membre` ";
$reponse = $bdd->query($request);
while ($donnees = $reponse->fetch())
{
echo $donnees['date_diff']. '<br>';
}
$reponse->closeCursor();
?> |
Comment fusionner ces deux codes?