Besoin d'un conseil pratique en PHP

WRInaute accro
Bonjour,
J'ai crée un site d'annonce en ligne en PHP. J'ai 4 formules d'abonnement et en fonction de ces formules, le délai d'obtention de l'annonce varie de 1 à 6 mois. Donc, pour me simplifier la vie au niveau de mon "administration", j'ai crée sur ma table Msql, au moment de l'inscription d'un membre, un champs 'temps" avec la fonction time() qui me récupère le moment précis ou mon membre a été validé.....delà, je souhaitai via mon "administration", créer un bouton "Mise à jour" pour faire une requête sur ma table et ainsi en fonction du time() actuel et de la variable $temps faire des conditions!!!

mais c'est un peu fastidieux et obligeant d'actualiser souvent!!!

Auriez-vous des conseils avisés dans ce sens pour m'aider??? pour en faire une automatisation

Merci :D
 
WRInaute accro
tu crées un champ Creation où tu mets la date de début en timestamp... et tu rajoutes un champ Fin où tu mets la date de fin en timestamp

il te suffit de rajouter tes 6 mois au temps actuel... et comme ca, tu n'affiches que les annonces dont le temps actuel est inférieur au champ Fin

J'ai été clair ?
 
WRInaute impliqué
Personellement pour les dates précises je conseille vivement les champs DATE ! Si tu veux transformer : fait un UPDATE table SET date_timestamp (ton champ avec le timestamp quoi :)) = FROM_UNIXTIME(date_timestamp)

Et après converti ton champ en DATE.

Bon ok ce n'est pas le sujet, mais je n'ai pas trop compris ta question, j'ai pas compris ce que tu voulais faire avec ton champ :?
 
WRInaute passionné
Pareil je vois pas la difficulté, la solution de finstreet me semble évidente.

Si tu veux supprimer les annonces une fois leur date passée un cron chaque nuit et c'est réglé.
 
WRInaute accro
merci de me répondre :D

Oui, c'est une bonne idée finstreet, voici ma façon de procéder:
1/ récupération du "time()" actuel
2/ création de la variable $duree="777600"; (3mois converti en secondes)
3/ créer $limite_annonce=time()+$duree
4/ puis transmission jusqu'à l'enregistrement dans la table msql

Je viens d'essayer et ma date d'enregistrement de l'annonce est bien datée du jour 16/07/2006 mais par contre, ma durée de validité est fixée au 25/07/2006

C'est quoi??? un prob dans le calcul de la durée de validité???? ($limite_annonce)
 
WRInaute passionné
passion pour ton nombre de seconde t'es dans les choux là.

x*31*24*60*60

Avec x ton nombre de mois (bon arrondis à 31 jours, y'a moyen de faire mieux en calculant le nombre de jour exacte)
 
WRInaute discret
Pour ton calcul de temps de 3 mois :

$duree = mktime (0,0,0,3,0,0);

Dans l'ordre des paramètres : heures, minutes, secondes, mois, jours, années.

=> $limite_annonce=time()+$duree;

ou (plus direct)

=> $limite_annonce=time()+mktime (0,0,0,3,0,0);

Comme ca, pas de problème de calcul ;)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut