RealTime from PHP with Javascript

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Avatar utilizator
mblaky
Average Member
Mesaje: 146
Membru din: Mar Sep 11, 2007 2:57 pm

RealTime from PHP with Javascript

Mesajde mblaky » Joi Dec 20, 2007 3:27 pm

Am facut un mic cod care arata timpul servarului, luat prin php...

Cod: Selectaţi tot

<?php
//Diferenta in ore dintre timp-ul servarului si timpul pe care doriti sa il afisati
$diferenta_de_ora = "5091.63";
$timeadjust = ($diferenta_de_ora * 60 * 60);

//Calculeaza valorile initiale ale variabilelor de ora/minut/secunda
$timedate_hours = date("H",time()+$timeadjust);
$timedate_mints = date("i",time()+$timeadjust);
$timedate_secon = date("s",time()+$timeadjust);
?>
<head><script language="javascript">
var timerID = null;
var timerRunning = false;
var timeValue;
var timeAM_PM = false;            // Daca e true se afiseaza ora in format AM/PM

var now = new Date() ;
//Seteaza valorile luate din PHP pentru ora/minut/secunda
now.setHours('<?php print $timedate_hours; ?>');
now.setMinutes('<?php print $timedate_mints; ?>');
now.setSeconds('<?php print $timedate_secon;?>');
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();

function stopclock(){ if(timerRunning); clearTimeout(timerID); timerRunning = false; }
function startclock(){ stopclock(); showtime(); }
function showtime(){
//Daca au trecut 60 de secunde mareste minutele cu 1 si reseteaza secundele, daca nu adauga 1 la secunde
   if (seconds == 60) { seconds=0; minutes++; } else {seconds++;}
//Daca au trecut 60 de minute reseteaza minutele si adauga o ora
   if (minutes == 60) { minutes=0; hours++;   };
//Daca vreti sa afisati cu AM/PM afiseaza ora intre 1 si 12, daca nu intre 1 si 24
   if (timeAM_PM) { timeValue = "" + ((hours > 12) ? hours - 12 : hours); }
           else { timeValue = "" + (hours); }   
    timeValue  += ((minutes < 10) ? ":0" : ":") + minutes;
    timeValue  += ((seconds < 10) ? ":0" : ":") + seconds;
//Daca vreti sa afisati AM/PM afisati un sufix la final care sa indice acest lucru
   if (timeAM_PM) { timeValue  += (hours >= 12) ? " PM" : " AM"; }
//Schimba valoarea la timp.
    document.getElementById('timediv').innerHTML = timeValue;
//Executa la fiecare secunda aceasta functie
    timerID = setTimeout("showtime()",1000);
    timerRunning = true;
}

</script>
</head><body onLoad="startclock()"><div id='timediv';>Asteptati</div></body>



Sper ca va ajuta :beer:



Avatar utilizator
saitek
Senior Member
Mesaje: 454
Membru din: Dum Sep 23, 2007 6:40 am

Mesajde saitek » Joi Dec 20, 2007 5:08 pm

Frumos de aprceciat gestul.Felicitari pentru munca ta.
Blog Beta|Translate to rgb
GOOGLE = un mare prost

Avatar utilizator
Quber
Senior Member
Mesaje: 874
Membru din: Mar Iun 27, 2006 8:33 pm
Localitate: localhost
Contact:

Mesajde Quber » Joi Dec 20, 2007 5:17 pm

Una nu pot intelege cine a cerut scriptul acesta....?
A man who dares to waste one hour of time has not discovered the value of life.

Avatar utilizator
saitek
Senior Member
Mesaje: 454
Membru din: Dum Sep 23, 2007 6:40 am

Mesajde saitek » Joi Dec 20, 2007 5:46 pm

Quber scrie:Una nu pot intelege cine a cerut scriptul acesta....?

Probabil nimeni,dar omu a zis ca poate o sa ii trebuiasca la cineva si la pus :wink: .
Blog Beta|Translate to rgb

GOOGLE = un mare prost

Avatar utilizator
Quber
Senior Member
Mesaje: 874
Membru din: Mar Iun 27, 2006 8:33 pm
Localitate: localhost
Contact:

Mesajde Quber » Joi Dec 20, 2007 6:15 pm

Interesant ;)
A man who dares to waste one hour of time has not discovered the value of life.

Avatar utilizator
punctweb
Senior Member
Mesaje: 509
Membru din: Mie Mar 24, 2004 3:32 pm
Contact:

Mesajde punctweb » Vin Dec 21, 2007 12:52 am

frumos era daca mentionai si sursele dupa care l-ai adaptat...

exemple

laudabila totusi dorinta de a ajuta... :wink:

carco
Senior Member
Mesaje: 2799
Membru din: Joi Mai 27, 2004 4:36 pm
Localitate: Bucuresti
Contact:

Mesajde carco » Vin Dec 21, 2007 6:41 am

Nu stiu cat de exact e ceasul ala pt. ca tu numeri manual secundele iar acele timere s-ar putea sa mai si scape (adica sa nu fie exact. nr. de microsecunde dorite de tine)

Incearca sa-l rescrii in felul urmator:
- calculezi diferenta
la fiecare 1 secunda (sau la 5 secunde sa nu omori browserul omului)
- iei ora clientului,
- adaugi / scazi diferenta,
- afisezi timpul nou calculat

adica, in loc sa numeri tu secundele, folosesti ceasul clientului pe care-l ajustezi in permanenta cu diferenta stabilita la inceput
Programator cu experienta in Magento/ZF, Typo3/Flow3, Symfony, B2B, CRM, ERP, SMB... vand betoniera

Avatar utilizator
mblaky
Average Member
Mesaje: 146
Membru din: Mar Sep 11, 2007 2:57 pm

Mesajde mblaky » Mie Ian 09, 2008 3:57 pm

scriptul nu l-a cerut nimeni, l-am facut eu pentru un site de-al meu si mi s-a parut interesant. si btw carco, e o idee foarte buna o sa lucrez la ea si o sa postez ce am facut :) ... cat despre ajutor m-am inspirat din 2 surse: google ... presupun ca o fi fost site-ul precizat de punctweb si un raspuns primit pe phpromania pe un post despre cum pot modifica datata de pe servar daca nu am drepturi de root :) ...


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori