Calcul de date

CyberMen30 Messages postés 152 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 8 novembre 2007 - 17 mai 2006 à 17:48
CyberMen30 Messages postés 152 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 8 novembre 2007 - 18 mai 2006 à 03:41
Bonjour,


 


Je sais que certains vont me dire qu'il y a des tuto.  J'ai bien fait des recherches depuis hier et de ce que j'ai trouvé, rien n'a fonctionné  :-(


 


Je tiens a effacer de ma bd des inscription non validé après 2 jours...


Pour le moment, ce que j'ai, c'est cei et il fonctionne mais efface tout ce qui est passé d'une journée et non validé...


<?php
include("connexion.php");


$sqladhesion="select * from tadhesion";

/*sélection des éléments de la table*/


$req_adhesion=mysql_query($sqladhesion) or die('Erreur SQL !
'.$sqladhesion.'
'.mysql_error());

$contenuadhesion=mysql_fetch_assoc($req_adhesion);
  
$datedujour = date("Y-m-d");  




do
{


$Date = $contadhesion['DateInscription'];


 


if($contadhesion['Validation']=="Non")
   {
   if ($Date < $datedujour)
   {
   echo $contadhesion['Validation'];
   echo $Date;
   echo $datedujour;
   echo "efface
";
   $sqleffaceadhesion="Delete from tadhesion where id='".$contadhesion['id']."'";
   $requete=mysql_query($sqleffaceadhesion) or die('Erreur SQL !
'.$sqleffaceadhesion.'
'.mysql_error());
   }
   else
   {
   echo $contadhesion['Validation'];
   echo $Date;
   echo $datedujour;
   echo "date valide
";
   }
   }
else
   {
   echo $contadhesion['Validation'];
   echo $Date;
   echo $datedujour;
   echo "date valide et approuv&eacute;
";
   
   }
}
while($contadhesion=mysql_fetch_array($req_adhesion));


?>

Est-ce que quelqu'un peux me donner un tuyau please???

5 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
17 mai 2006 à 18:08
Salut,
je ne comprends pas tout à ce que tu as fait et je pense qu'il y a des erreurs rien que dans tes noms de variables, mais c'est pour dire que tu peux faire tt ça en une ligne en utilisant les fonctions de dates de MySql, du genre

WHERE TO_DAYS(NOW()) - TO_DAYS(DateInscription) <= 2 and `validation`= 'oui'

à+
0
CyberMen30 Messages postés 152 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 8 novembre 2007
17 mai 2006 à 18:39
Merci Evangun, je vais tester e que tu m'as donné.

Mais si je comprends bien (J'ai bien dis SI), j'aurais pas besoins de tout ce code pour effacer les données non validée, je n'aurais qu'a me servir de la ligne que tu m'as donné?
0
CyberMen30 Messages postés 152 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 8 novembre 2007
17 mai 2006 à 20:57
Autre essaie, j'ai essayer avec mktime mais voici que lorsque je fais un

$datedujour  = mktime(0, 0, 0, date("Y")  , date("d")-2, date("m"));

echo $datedujour;

Le résultat est : -3662
0
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
17 mai 2006 à 23:30
Salut,

http://fr3.php.net/mktime
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )

Inverse l'an et le mois.

Moi je prefere stoquer le timestamp + limite en seconde en db, et effacer touts les comptes en attente dés le lancement du script:

// Inscription.php :
$expiration_validation = time() + 3600; // 1h
INSERT INTO `table_temporaire` ... '.$expiration_validation.'..

// Validation.php :

$time = time();
mysql_query('DELETE FROM `table_temporaire` WHERE `limite` >= \''.$time.'\'',..);

Et pour liberer la db sql, je peux aussi vider les comptes arriver a expiration sur la page d'inscription (au tout debut).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CyberMen30 Messages postés 152 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 8 novembre 2007
18 mai 2006 à 03:41
Merci infiniement juki_webmaster, je vais essayer ca demain matin  :-)
0
Rejoignez-nous