Comment connaitre le nombre de jours entre deux dates en PHP

Par défaut

il y a plusieurs possibilités pour connaitre le nombre de jour entre deux dates en PHP

SOLUTION

<?php
// Solution 1
$date1 = new DateTime("2010-07-06");
$date2 = new DateTime("2010-07-09");
$diff = $date2->diff($date1)->format("%a");
echo $diff;

// Solution 2
$debut = strtotime('2010-01-25');
$fin = strtotime('2010-02-20');
$dif = ceil(abs($fin - $debut) / 86400);
echo $dif;

// Solution 3
$datetime1 = new DateTime("2010-06-20");
$datetime2 = new DateTime("2011-06-22");
$difference = $datetime1->diff($datetime2);
echo 'Difference: '.$difference->y.' Annees, '
.$difference->m.' Mois, '
.$difference->d.' Jours';

?>
Solution

Comment augmenter ou diminuer une Date de 1 ou de plusieurs jours en PHP

État

Bonjour, Aujourd’hui on verra comment augmenter ou diminuer le nombre de jour dans une date en PHP. Il existe plusieurs possibilités, On les essayera tous afin de vous permettre choisir la méthode qui vous convient.

METHODE 1

<?php
$jour = "2010-09-17"; // Notre date par default
echo date('Y-m-d', strtotime($jour. ' + 1 days')); // On ajoute 1 jour
echo date('Y-m-d', strtotime($jour. ' + 2 days')); // On ajoute 2 jours
echo date('Y-m-d', strtotime($jour. ' + 5 days')); // On ajoute 5 jours
echo date('Y-m-d', strtotime($jour. ' + 10 days')); // On ajoute 10 jours
?>
Méthode 1

Ce code ci-dessus affichera le résultat suivant:

2010-09-18
2010-09-19
2010-09-22
2010-09-27

METHODE 2

<?php
$jour = '2010-09-17';
$date = new DateTime($jour);
$date->add(new DateInterval('P1D')); // P1D veut dire 1 Jour, P2D veut dire 2 jours ...
$notreDate = $date->format('Y-m-d'); // ensuite ici on le formate au format voulu
echo $notreDate; // Affichage du resutlat
?>
Méthode 2

METHODE COMPLETE

<?php
$jour = date("Y-m-d"); // Notre Date par default
//Augmenter de 2 Jours
$maDate = strtotime($jour."+ 2 days");
echo date("Y-m-d",$maDate) . "\n";

//Diminuer de 2 Jours
$mod_date = strtotime($jour."- 2 days");
echo date("Y-m-d",$mod_date) . "\n";

//Augmenter de 2 Mois
$mod = strtotime($jour."+ 1 months");
echo date("Y-m-d",$mod) . "\n";

//Augmenter de 1 An
$mate = strtotime($jour."+ 1 years"); // on peut diminuer de 1 an aussi en specifiant le sign "-"
echo date("Y-m-d",$mate) . "\n";
?>
Méthode Complète

N’oublier pas de poster vos inquiétudes.

Comment connaitre l’heure exact du Levé et Couché du Soleil en PHP

Par défaut

Bonjour aujourd’hui on va voir comment connaitre les informations sur le lever et coucher du soleil ainsi que le début et la fin de l’aube en PHP. Pour cela on va utiliser la fonction:

date_sun_info()

Description de la fonction:

array date_sun_info ( int $temp , float $latitude , float $longitude )
Description de la fonction

la fonction a besoin de 3 paramètres tels que:

  • temp : Timestamp
  • latitude: Latitude, en degrés de la localité
  • longitude: Longitude, en degrés de la localité

Comme résultat, il retourne un tableau en cas de succès ou FALSE si une erreur survient.

Example:

<?php
$info = date_sun_info(strtotime("2017-07-24"), 31.7667, 35.2333); // Date du jour, Lagitude, Longitude
foreach ($info as $key => $val) {
echo "$key: " . date("H:i:s", $val) . "\n";
}
?>
Exemple

Le code ci-dessus, affichera un résultat similaire à sa:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

 

Comment convertir une date depuis une Base de Données en Français avec PHP ?

Discussion

Bonjour, Aujourd’hui je vais vous montré comment créer une fonction PHP qui nous permettra de conversitr une date au Format Anglais au Format Français. Par default MySQL accepte le format de date en Anglais suivant:

AAAA-MM-JJ (2017-12-29)

pour afficher la date actuelle en PHP on utilise la fonction suivante:

<?php
// Y=année, m=Mois, d=Jour (La date en chiffre)
echo date("Y-m-d");
?>

Comment  convertir une date recueillir depuis une base de donnée pour l’avoir  au format Français suivant: 29-12-2017 ou 29/12/2017. Pour cela on va créer une fonction appeler maDate();

// Création de notre fonction de conversion
function maDate($v){
$Date = new DateTime($v);
$LaDate = $Date->format("d-m-Y"); // Notre format souhaite
return $LaDate; //on retourne la valeur
}
// Notre Date en Anglais
$Date = date("Y-m-d");
// Appel de notre fonction de Conversion de notre Date en Français
echo maDate($Date);
Conversion de Date en PHP

 

Comment créer un Script d’installation de votre application Web (Wizard)

Par défaut

Bonjour, Aujourd’hui, nous allons voir comment créer une procédure d’installation de votre application Web. Cette procédure d’installation est à peu près similaire aux autres installations de logiciel Windows appelé le Guide Wizard. Lorsque vous développez des applications pour un client, il faut toujours lui donner la possibilité de l’installer lui-même en suivant des instructions d’installation tel qu’un logiciel Windows. N’oublier pas d’avoir le fichier SQL de votre DB à l’extension .sql

Pour notre tutoriel on considère le répertoire « geschools »  comme la racine de notre application. Dans cette racine on peut trouver plusieurs repertoires tels que:

  • config (contiendra le fichier de connexion à notre DB appelé config.php et bien d’autres)
  • include
  • fonction
  • db (contient le fichier SQL de notre base de données appelé: geschools_dump.sql)
  • installation (contiendra notre procédure d’installation de notre application)
  • images
  • css
  • js
  • index.php

et bien d’autres fichiers

Comment faire ?

  1. Dans le répertoire « installation » créer un fichier index.php. Dans ce fichier, on aura un formulaire qui permettra au client de spécifier les informations de connexion à sa base de données.
<h2 align="center">INSTALLATION DE GESCHOOLS 3.0 BETA</h2>
<hr /><hr />
<form action="" method="post">
<div class="form-group">
<div class="col-lg-3">
<label>Adresse du Serveur MySQL<em class="rouge">*</em></label>
<input type="text" name="db_host" value="" class="form-control" placeholder="localhost" required>
</div>
<div class="col-lg-3">
<label>Nom d'utilisateur du serveur MySQL:<em class="rouge">*</em></label>
<input type="text" name="db_user" value="" class="form-control" placeholder="root" required>
</div>
<div class="col-lg-3">
<label>Mot de passe du Serveur MySQL:<em class="rouge">*</em></label>
<input type="text" name="db_pass" value="" class="form-control">
</div>
<div class="col-lg-3">
<label>Nom de la DB (ne pas changer):<em class="rouge">*</em></label>
<input type="text" name="db_name" value="geschools" class="form-control" required>
</div>
<div class="col-lg-3">
<label>#</label>
<input type="submit" name="process" value="Commencer l'Installation" class="form-control btn btn-danger">
</div>
</div>
</form>

<div class="clearfix"></div>
index.php

2. Toujours dans le même fichier index.php coller le code suivant. Ce code procédera à l’installation de notre application en important la DB de notre application qui se trouve dans le repertoire db/ puis créer le fichier de connexion config.php de notre DB dans le répertoire: config/

<?php 
if(isset($_POST['process'])){
// Recuperation des information du formualire
extract($_POST);
// Verification si les champs sont vides
$champFormulaire=array("db_host","db_user","db_pass","db_name");
foreach($champFormulaire as $champ){
if(empty($_POST["$champ"])){
die('Tous les champs sont obligatoires');
}
}
// Connexion au serveur avec MySQLi
$con = new mysqli($db_host,$db_user,$db_pass);
// Verification si les données de connexion saisies dans le Formulaire sont Bons
if($con->connect_error){
die('<h3 style="color:red;">IMPOSSIBLE D\'ETABLIR LA CONNEXION AU SERVEUR MySQL, VERIFIER LES INFORMATIONS RENSEIGNEES</h3>'.mysqli_error($con));
}
// Création de la base de donnée dans
$sql="CREATE DATABASE $db_name"; // requête de création de la DB
if($con->query($sql) === TRUE){
echo '<h3 style="color:green;">La base de donnée à été créer !!!</h3>';
}
// Importation des tables dans la DB
$insert = new mysqli($db_host,$db_user,$db_pass,$db_name);
$fichier ="../db/geschools_dump.sql"; // Fichier SQL qui se trouve dans le repertoire db/
$templine=''; // Variable temporaire pour sauver les requêtes
$lines =file($fichier); // lecture du fichier entier
foreach($lines as $line){ // parcourire les ligne du fichier
if(substr($line,0,2)== '--' || $line == '')
continue;
$templine .=$line;
if(substr(trim($line),-1,1) == ';'){
$insert->query($templine) or print('Error dans la requête' .$templine. '\' '.mysqli_error($con));
$templine='';
}
}

// Fin
// Création du fichier config.php dans le repertoire config/
$valeur='
<?php
// Modifier le '.date('d-m-Y').'
session_start();
/* DATABASE CONFIGURATION */
define("DB_SERVER", "'.$db_host.'");
define("DB_USERNAME", "'.$db_user.'");
define("DB_PASSWORD", "'.$db_pass.'");
define("DB_DATABASE", "'.$db_name.'");

function getDB(){
$dbhost=DB_SERVER;
$dbuser=DB_USERNAME;
$dbpass=DB_PASSWORD;
$dbname=DB_DATABASE;
try {
$dbConnection = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbConnection->exec("set names utf8");
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbConnection;
}
catch (PDOException $e) {
echo "connection failed:" .$e->getMessage();
}
}

$mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
// TEST DE CONNEXION 1
if($mysqli->connect_errno > 0){
die("IMPOSSIBLE DE SE CONNECTER AU SERVEUR" .$mysqli->connect_error);
}
?>';
// Création et Insertion de donnée dans le fichier config.php
$fichier= "../config/config.php";
$fo=fopen($fichier,"w"); // ouverture du fichier
$go=fputs($fo,$valeur); // Insetion de la variable $valeur dans le fichier config.php
fclose($fo); // fermeture du fichier
if($go){
echo '<center><h2 style="color:green;">Installation réussie</h2> <a href="../">Clique ici</a> pour te connecter</center>';
}
else {
die ('IMPOSSIBLE D\'INSTALLER, CONTACTER L\'ADMINISTRATEUR');
}

// Fin
$con->close(); // fermeture de la Connexion au Serveur MySQL
}
?>
Toujours dans index.php

Et voila c’est tout. Si vous avez d’incompréhension sur ce code n’hésitez pas à poster votre commentaires. je suis là pour vous aider et à comprendre mieux.