2009-11-19 13 views
0

Je crée un site où les utilisateurs peuvent enchérir sur des objets dans une enchère silencieuse. Je veux être en mesure de démarrer une minuterie, puis laisser les utilisateurs enchérir sur les éléments. Une fois que la minuterie atteint un certain nombre, je veux être en mesure de supprimer la fonctionnalité d'enchère sur les articles d'enchères.Comment puis-je exécuter une fonction après un certain temps?

Quelqu'un connaît-il la meilleure approche pour moi de faire cela et quelles fonctions ou plugins peuvent être utiles? Je préférerais une approche purement PHP, mais j'imagine qu'un mélange entre PHP et jQuery résoudrait très probablement mon problème d'une manière ou d'une autre? Aucune suggestion? Comment puis-je faire ceci?

Merci d'avance!

Répondre

3

Ce que je ferais est de définir une date de fin sur l'entrée de la base de données associée à la vente aux enchères. Ensuite, vous avez juste besoin de vérifier si la date actuelle est avant ou après la date de fin.

Ensuite, dans la partie frontale, vous pouvez afficher la différence entre la date de fin et la date actuelle simplement ou en utilisant javascript.

Bien sûr, il est important de vérifier que la vente aux enchères n'est pas terminée dans votre php avant de faire quoi que ce soit car il est très facile de contourner le javascript.

+0

hmm, cela semble assez facile. Souhaitez-vous utiliser le type DateTime? – zeckdude

+0

Oui, absolument, de cette façon, vous saurez exactement quand la vente aux enchères se termine – marcgg

0

jQuery Countdown, ce plugin peut aider u

Vérifiez la section "Événements Callback", que ce besoin d'u utilisé.

Il est quelque chose comme ça

$('#shortly').countdown({until: shortly, 
onExpiry: liftOff, onTick: watchCountdown}); 

$('#shortlyStart').click(function() { 
shortly = new Date(); 
shortly.setSeconds(shortly.getSeconds() + 5.5); 
$('#shortly').countdown('change', {until: shortly}); 
}); 

function liftOff() { 
alert('We have lift off!'); 
} 

function watchCountdown(periods) { 
$('#monitor').text('Just ' + periods[5] + ' minutes and ' + 
    periods[6] + ' seconds to go'); 
} 
Questions connexes