48 users online (1 members and 47 guests)  


  Results 1 to 2 of 2

Related

  1. how to stop javascript via another javascript    Forum: Javascript Forum
    Replies: 0
  2. Need a countdown clock    Forum: Javascript Forum
    Replies: 5
  3. Replies: 5
  4. Form mailer with textarea countdown    Forum: CGI Perl Forum
    Replies: 0
  1. #1
    Bidman's Avatar
    New User

    Status
    Offline
    Join Date
    May 2007
    Posts
    2

    Lightbulb Countdown using php and javascript

    I am tring to get a time countdown function going with php and javascript. I am very new with both, but I have gotten somethings to work. Can anyone help me out? What I am tring to get accomplished. I need the enddate to countdown in javascript.
    Here is the code I am tring to get working with javascript.

    Code:
    <? 
    $getClosingAuctions=mysql_query("SELECT id, enddate, itemname, bidstart, currency FROM probid_auctions WHERE 
    active=1 AND closed=0 AND deleted!=1 AND listin!='store' ORDER BY enddate ASC LIMIT ".$layout['nb_end_auct']."");
    while ($closingAuctions=mysql_fetch_array($getClosingAuctions)) { ?>
    <tr height="25" class="<? echo (($count++)%2==0) ? "c2":"c3"; ?>">
    <td width="11"><img src="themes/default/img/arr_it.gif" width="11" height="11" hspace="4"></td>
    <td class="smallfont" nowrap="nowrap">&nbsp;<b>
    <? 
    $daysleft=timeleft($closingAuctions['enddate'],$setts['date_format']);
    echo (($daysleft>=0)?"$daysleft left":"bidding closed");
    needs to be displayed right here?
    ?>
    This is how you get the enddate (which you probably know):
    Code:
    $daysleft=timeleft($closingAuctions['enddate'],$setts['date_format']);
    Now how do I get the time to countdown in javascript (which I do not know where to begin with this) in days, hours, min, sec? This pulls a format like: 2007-03-01 20:05:44
    Pleasssse help - If this can not be done then it can't but if it can then .
    Last edited by vinyl-junkie; 05-13-2007 at 01:20 AM. Reason: Added code tags

  2. #2
    Bidman's Avatar
    New User

    Status
    Offline
    Join Date
    May 2007
    Posts
    2

    Re: Countdown using php and javascript

    I have found some javascript code that might work but don't know how to call the php in this javascript?
    <style style="text/css">
    .lcdstyle{ /*Example CSS to create LCD countdown look*/
    background-color:black;
    color:lime;
    font: bold 18px MS Sans Serif;
    padding: 3px;
    }
    .lcdstyle sup{ /*Example CSS to create LCD countdown look*/
    font-size: 80%
    }
    </style>
    //Starting javascript// - I put this in
    <script type="text/javascript">
    function cdLocalTime(container, servermode, offsetMinutes, targetdate, debugmode){
    if (!document.getElementById || !document.getElementById(container)) return
    this.container=document.getElementById(container)
    var servertimestring=(servermode=="server-php")? '<? print date("F d, Y H:i:s", time())?>' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>'
    this.localtime=this.serverdate=new Date(servertimestring)
    this.targetdate=new Date(targetdate)
    this.debugmode=(typeof debugmode!="undefined")? 1 : 0
    this.timesup=false
    this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time
    this.updateTime()
    }
    cdLocalTime.prototype.updateTime=function(){
    var thisobj=this
    this.localtime.setSeconds(this.localtime.getSeconds()+1)
    setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
    }
    cdLocalTime.prototype.displaycountdown=function(baseunit, functionref){
    this.baseunit=baseunit
    this.formatresults=functionref
    this.showresults()
    }
    cdLocalTime.prototype.showresults=function(){
    var thisobj=this
    var debugstring=(this.debugmode)? "<p style=\"background-color: #FCD6D6; color: black; padding: 5px\"><big>Debug Mode on!</big><br /><b>Current Local time:</b> "+this.localtime.toLocaleString()+"<br />Verify this is the correct current local time, in other words, time zone of count down date.<br /><br /><b>Target Time:</b> "+this.targetdate.toLocaleString()+"<br />Verify this is the date/time you wish to count down to (should be a future date).</p>" : ""
    var timediff=(this.targetdate-this.localtime)/1000 //difference btw target date and current date, in seconds
    if (timediff<0){ //if time is up
    this.timesup=true
    this.container.innerHTML=debugstring+this.formatresults()
    return
    }
    var oneMinute=60 //minute unit in seconds
    var oneHour=60*60 //hour unit in seconds
    var oneDay=60*60*24 //day unit in seconds
    var dayfield=Math.floor(timediff/oneDay)
    var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
    var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
    var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
    if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
    hourfield=dayfield*24+hourfield
    dayfield="n/a"
    }
    else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
    minutefield=dayfield*24*60+hourfield*60+minutefield
    dayfield=hourfield="n/a"
    }
    else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
    var secondfield=timediff
    dayfield=hourfield=minutefield="n/a"
    }
    this.container.innerHTML=debugstring+this.formatresults(dayfield, hourfield, minutefield, secondfield)
    setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
    }
    /////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////
    //Create your own custom format function to pass into cdLocalTime.displaycountdown()
    //Use arguments[0] to access "Days" left
    //Use arguments[1] to access "Hours" left
    //Use arguments[2] to access "Minutes" left
    //Use arguments[3] to access "Seconds" left
    //The values of these arguments may change depending on the "baseunit" parameter of cdLocalTime.displaycountdown()
    //For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
    //For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc
    //1) Display countdown using plain text
    function formatresults(){
    if (this.timesup==false){//if target date/time not yet met
    var displaystring="<span style='background-color: #CFEAFE'>"+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]+" seconds</span> left until launch time"
    }
    else{ //else if target date/time met
    var displaystring="Launch time!"
    }
    return displaystring
    }
    //2) Display countdown with a stylish LCD look, and display an alert on target date/time
    function formatresults2(){
    if (this.timesup==false){ //if target date/time not yet met
    var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>days</sup> "+arguments[1]+" <sup>hours</sup> "+arguments[2]+" <sup>minutes</sup> "+arguments[3]+" <sup>seconds</sup></span> left until launch time"
    }
    else{ //else if target date/time met
    var displaystring="" //Don't display any text
    alert("Launch time!") //Instead, perform a custom alert
    }
    return displaystring
    }
    </script>
    <div id="cdcontainer"></div>

    <script type="text/javascript">
    //cdLocalTime("ID_of_DIV_container", "server_mode", LocaltimeoffsetMinutes, "target_date", "opt_debug_mode")
    //cdLocalTime.displaycountdown("base_unit", formatfunction_reference)

    //Note: "launchdate" should be an arbitrary but unique variable for each instance of a countdown on your page:

    var launchdate=new cdLocalTime("cdcontainer", "server-php", 0, "April 23, 2010 15:53:00", "debugmode")
    launchdate.displaycountdown("days", formatresults2)
    </script>
    The red is where I need to call the $daysleft



Tags for this Thread