Cronometro php

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
Ragazzi mi servirebbe fare in modo che mi salvo i minuti di una partita a mo di diretta testuale. Per salvare il tempo devo fare così:
$a=time();
$b=date('H:i:s', $a);

Se io clicco un bottone trovo l'orario attuale. Come faccio a "convertirlo in minuti"?
ES: alle 15.02 inizia una partita. La squadra fa gol alle 15.20. Deve venire fuori che il gol è stato fatto al 18°. Non so se mi sono spiegato
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dipende anche da come è impostata l'ora di inizio partita e l'ora in cui vine fatto il gol
mettiamo che entrambe siano scritte come indichi nel post. potresti fare una function del tipo

PHP:
<?php
function intervallo($i, $f){
	//per ore scritte tipo 15.25
	//esplodo secondo il puto
	$i_e=explode(".",$i);
	$f_e=explode(".";$f);
	//trasformo tutto in minuti
	$i_m=$i_e[0]*60+$i_e[1];
	$f_m=$f_e[0]*60+$f_e[1];
	$intervallo=$f_m-$i_m;
	return $intervallo;
}
//prova della function
$inizio="15.25";
$gol="16.18";
echo intervallo($inizio,$gol);
?>
ho scritto la function con tutti i passaggi logici, è evidente che può essere semplificata
leggermente diversa sarebbe si gli orari fossere in formato timestamp, ma il principio è lo stesso.
più complicata se gli orari sono informato diverso.
non ho considerato gli eventuali controlli (es. per errore gol minore di inizio)
 

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
Si funziona questa cosa! Ti ringrazio. Un'ultima cosa però: io vorrei fare in modo che il tempo di inizio partita sia tempo reale ma fisso.
Per dire io vorrei cliccare su un bottone INIZIA PARTITA e salvarmi il tempo di inizio partita. E ogni evento successivo confrontarlo con quel tempo.
Il mio problema è che ogni volta che inserisco un evento poi se faccio così:

$a=time();
$b=date('H.i', $a);

quando clicco il bottone questo salva il tempo di inizio, ma se poi riclicco per inserire l'evento, cambierebbe anche questo tempo, e quindi il tempo 0 sarebbe il tempo dell'evento.
Rischio che se alle 15.01 inizia la partita e alle 15.13 c'è il primo evento, questo evento è al 12°, ma poi se ce n'è un altro alle 15.21 questo sarà all'8° minuto. Capito che intendo?
 

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
ciao

intendi salvare in db? o il tempo di inizio deve rimanere solo per il periodo che sei sul sito?
poi hai una partita sola o più partite?

Mi serve che per ogni partita, se io clicco su un bottone, mi si salvi l'orario esatto in cui inizia la partita. In modo che per ogni evento poi calcolo semplicemente quanto tempo è passato
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho messo giù un'idea, però è "abbastanza" soddisfaciente se le partite sono una, se sono di più il discorso si complica dovendo usare array di array di array.
il sistema ha il difetto che se esci dal bw le sessioni si annullano, cioè lo script funzia solo sino a che sei dentro il sito.
se vuoi aumentare il numero di partite e usarlo uscendo/entrando dal bw non c'è altro che usare un db.

PHP:
<?php
function intervallo($i, $f){
    //per ore scritte tipo 15.25
    //esplodo secondo il punto
    $i_e=explode(".",$i);
    $f_e=explode(".",$f);
    //trasformo tutto in minuti
    $i_m=$i_e[0]*60+$i_e[1];
    $f_m=$f_e[0]*60+$f_e[1];
    $intervallo=$f_m-$i_m;
    return $intervallo;
}

if(!isset($_SESSION)){session_start();}
if(isset($_GET['del']) && $_GET['del']=="0"){
	session_destroy();
}
if(isset($_GET['ok'])){
	if(!isset($_SESSION['inizio'])){
		//se non ho l'inizio lo valorizzo
		$_SESSION['inizio']=time();
		$_SESSION['conta']=0;
		echo "inizio partita alle: ".date("H.i",$_SESSION['inizio']);
	}else{
		$ini=date("H.i",$_SESSION['inizio']);
		echo "inizio partita alle: $ini<br>";
		$c=$_SESSION['conta'];
		$_SESSION['evento'][$c]=time();
		for($j=0;$j<=$c;$j++){
			$eve=date("H.i",$_SESSION['evento'][$j]);
			$intervallo=intervallo($ini, $eve);
			echo "----evento ". ($j+1) ." ($eve) al $intervallo ° minuto<br>";
		}
		$c++;
		$_SESSION['conta']=$c;
	}
}else{
	$_SESSION=array();
	$c=0;
}
?>
<p>partita <a href="?ok=1">evento</a></p>
<p><a href="?del=0">annulla tutto</a></p>

lo script (così com'è) funzia, però secondo me è da considerare solo come un'idea di partenza.
qundi chiami lo script per la prima volta ti appaiono solo i link evento e annulla tutto (simulano pulsanti).
cliccando la prima volta su evento imposti l'ora di inizio della partita (che rimane sempre quello). poi ogni volta che riclicchi si aggiunge un evento e calcola a quanto tempo è avvenuto dall'inizio.
 

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
ciao
ho messo giù un'idea, però è "abbastanza" soddisfaciente se le partite sono una, se sono di più il discorso si complica dovendo usare array di array di array.
il sistema ha il difetto che se esci dal bw le sessioni si annullano, cioè lo script funzia solo sino a che sei dentro il sito.
se vuoi aumentare il numero di partite e usarlo uscendo/entrando dal bw non c'è altro che usare un db.

PHP:
<?php
function intervallo($i, $f){
    //per ore scritte tipo 15.25
    //esplodo secondo il punto
    $i_e=explode(".",$i);
    $f_e=explode(".",$f);
    //trasformo tutto in minuti
    $i_m=$i_e[0]*60+$i_e[1];
    $f_m=$f_e[0]*60+$f_e[1];
    $intervallo=$f_m-$i_m;
    return $intervallo;
}

if(!isset($_SESSION)){session_start();}
if(isset($_GET['del']) && $_GET['del']=="0"){
	session_destroy();
}
if(isset($_GET['ok'])){
	if(!isset($_SESSION['inizio'])){
		//se non ho l'inizio lo valorizzo
		$_SESSION['inizio']=time();
		$_SESSION['conta']=0;
		echo "inizio partita alle: ".date("H.i",$_SESSION['inizio']);
	}else{
		$ini=date("H.i",$_SESSION['inizio']);
		echo "inizio partita alle: $ini<br>";
		$c=$_SESSION['conta'];
		$_SESSION['evento'][$c]=time();
		for($j=0;$j<=$c;$j++){
			$eve=date("H.i",$_SESSION['evento'][$j]);
			$intervallo=intervallo($ini, $eve);
			echo "----evento ". ($j+1) ." ($eve) al $intervallo ° minuto<br>";
		}
		$c++;
		$_SESSION['conta']=$c;
	}
}else{
	$_SESSION=array();
	$c=0;
}
?>
<p>partita <a href="?ok=1">evento</a></p>
<p><a href="?del=0">annulla tutto</a></p>

lo script (così com'è) funzia, però secondo me è da considerare solo come un'idea di partenza.
qundi chiami lo script per la prima volta ti appaiono solo i link evento e annulla tutto (simulano pulsanti).
cliccando la prima volta su evento imposti l'ora di inizio della partita (che rimane sempre quello). poi ogni volta che riclicchi si aggiunge un evento e calcola a quanto tempo è avvenuto dall'inizio.

Ho preferito risolvere in altro modo: metto un altro attributo alla tabella partita che sarebbe orario esatto partita che si aggiorna quando clicco su inizia partita. Lo stesso si riaggiorna sovrascrivendo quando inizia il secondo tempo
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Creare un cronometro PHP 5
criric Cronometro in javascript Snippet Javascript 0
C Cronometro PHP 1
G Cronometro sempre attivo Programmazione 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0

Discussioni simili