2017-02-02 7 views
-3

Wie können wir inkrementellen Timer in PHP-Kern machen. Wenn der Benutzer auf den Startknopf klickt, wird der Timer um eine Sekunde erhöht und wenn der Benutzer auf diese Schaltfläche klickt, wird der Timerwert in der Datenbank gespeichert. Dann setzt der Benutzer seine Arbeit fort, dass der Zeitgeber automatisch von dort startet, wenn der Benutzer auf Pause klickt. Wenn der Benutzer auf die Stopp-Taste klickt, wird die Gesamtzeit der Arbeit in der Datenbank gespeichert.Wie inkrementierten Timer in Core PHP mit Start Pause fortsetzen Stop-Taste mit MySQL

Hinweis: Wir wollen keine Art von Plug-in reine Programmierung.

+0

In diesem Fall ohne "Javascript" können Sie dies tun, was Sie wollen, ist Browser-Seite, aber das Speichern von Daten auf dem Server PHP ist gut –

+0

Ich weiß, aber kann man dieses Problem lösen ..... ?????? ? –

+0

Dieser Link hilft Ihnen dabei http://javascript.info/tutorial/settimeout-setinterval –

Antwort

0

Sie benötigen zwei Tasten. Eine start andere stop.

Wenn Sie auf start klicken, machen Sie die Ajax-Anfrage an den Server (da Sie die Frage als javascript gekennzeichnet haben).

Sie haben Tabelle in der Datenbank timer

id | user_id | state | time 

Ajax Anfrage an Datenbank abfragen kann:

UPDATE timer SET state = 1 WHERE user_id = :user 

Wenn es keinen solchen Eintrag für den aktuellen Benutzer ist - fügen Sie einen ersten:

"INSERT INTO timer (user_id, state, time) VALUES ({$userId}, ".User::STATUS_INACTIVE.", '".time()."') 

Ihr Cron-Job führt alle 1 Sekunde eine Abfrage zur Datenbank aus:

UPDATE timer SET time = time + 1 

Wenn Benutzer stop Klicks machen Sie eine weitere Anforderung, die Datenbank aktualisiert und gibt aktuelle Zeit:

UPDATE timer SET state = 0 WHERE user_id = :user; 
SELECT time FROM timer WHERE user_id = :user; 

Wie Sie es sehen können, keine Möglichkeit, Benutzerbefehle ohne Javascript auszuführen ist.

Es wäre möglich, wenn Ihr Benutzer CLI verwenden würde.

Verwandte Themen