• 21-12-2012, 02:07:29
    #1
    Merhaba arkadaşlar, herkese keyifli bir gün dilerim. Bana ileri doğru sayan sayaç lazım olmuştu ve JavaScript kodunu buldum.

    <style style="text/css">
    
    .dcountstyle{ /*Example CSS to style count up output*/
    font: bold 16px Arial;
    padding: 3px;
    }
    
    .dcountstyle sup{ /*Example CSS to style count up output*/
    font-size: 90%
    }
    
    </style>
    
    <script type="text/javascript">
    
    function dcountup(startingdate, baseunit){
        this.currentTime=new Date()
        this.startingdate=new Date(startingdate)
        this.timesup=false
        this.baseunit=baseunit
        this.start()
    }
    
    dcountup.prototype.oncountup=function(){} //default action for "oncountup"
    
    dcountup.prototype.start=function(){
        var thisobj=this
        this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
        var timediff=(this.currentTime-this.startingdate)/1000 //difference btw target date and current date, in seconds
        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"
        }
        var result={days: dayfield, hours:hourfield, minutes:minutefield, seconds:secondfield}
        this.oncountup(result)
        setTimeout(function(){thisobj.start()}, 1000) //update results every second
    }
    
    </script>
    <div id="cpcontainer">&nbsp;</div>
    
    <script type="text/javascript">
    
    //SYNTAX: myvariable=new dcountup(past_date_and_time_string, "baseunit")
    var princewedding=new dcountup("December 9, 2011", "days")
    
    princewedding.oncountup=function(result){
        //result is an object containing the current count up date/time, updated every second
        //Available properties: result["days"], result["hours"], result["minutes"], and result["seconds"]
        var mycountainer=document.getElementById("cpcontainer")
        mycountainer.innerHTML="Blogumu kurduğum<b>"+result['days']+"</b> gün olmuş."
    }
    </script>
    Fakat bunu bir türlü

                <div id="communityThumbsContainer">
    				<a title="Sitenin açılışı şu gün" target="_blank" href="http://www.adanademirspor.org.tr">
                    <img src="img/header/sagust.jpg" width="84" height="80">
    A title yerine bir türlü koyamadım. Durmadan sitenin sitenin şeklinde görünüp durdu. Bende javascriptten geçen süreyi php de bir değişkene atayıp
    <a title="site <?=[$sure]?> önce açıldı"
    Gibi bir kod yapayım dedim. Yukarıdaki javascriptin altına da

    <?php
    $kod = "'+result['days']+'";
    ?>
    Kodunu koydum ve
    Parse error: syntax error, unexpected '[' in /home/site/public_html/index.php on line 140 hatasını aldım. 140. satır ise değişken atadığım yer.

    Sizden ricam elinde php ile yazılmış ve belirli tarihten itibaren ileri doğru sayan bir sayaç var mı? Tekrardan ilgi ve alakanıza teşekkür eder, saygılarımı sunarım.
  • 21-12-2012, 10:20:33
    #2
    $baslangic tarihinden itibaren geçen gün sayısını aşağıdaki kod ile hesaplayabilirsin.. date_diff'i de kullanabilirsin..

    $baslangic = '2012-01-01';
    echo floor((time()-strtotime($baslangic))/(24*60*60));
  • 21-12-2012, 15:31:25
    #3
    acidmax, cevabınız için teşekkür ederim fakat kodu oraya bir türlü sokamıyorum.
    Sitenin en üstüne

    <?php
    $baslangic = '2012-01-01';
    $sure = "floor((time()-strtotime($baslangic))/(24*60*60))";
    ?>

    Dedim ve a title kısmına da aşağıdaki kodu koydum ama bir türlü çalışmıyor. Parse error: syntax error, unexpected '[' hatasını veriyor.
    $sure kısmının başında ve sonundaki çift tırnağı " tek tırnak ' yaptım ama yine de çalışmadı. Yardımlarınızı bekliyorum...

    <a title="deneme <?=[$sure]?> deneme" target="_blank" href="http://www.google.com">
    <img src="resim.jpg">
  • 21-12-2012, 15:38:56
    #4
    $sure satırındaki kodu neden tırnak içine aldınız.. öyle olmamalı..

    <?=[$sure]?> satırındaki [] köşeli parantezler olmamalıydı..

    yine de o şekilde kullanmayın.. <?php echo $sure; ?> olarak kullanın..


    tam kod..


    <?php
    $baslangic = '2012-01-01'; 
    $sure = floor((time()-strtotime($baslangic))/(24*60*60));
    ?>
    
    <a title="deneme <?php echo $sure; ?> deneme" target="_blank" href="http://www.google.com">
    <img src="resim.jpg">
  • 21-12-2012, 16:17:20
    #5
    Kod sorunsuz çalışmaktadır, kullanılabilir. Acidmax çok teşekkür ederim.
    [ ] işaretlerini neden kullandığıma gelince başka bir php dosyasından kopyalama yaptım.
    Onun en başında rand değeri vardı yani. Tekrardan ilgi ve alakanıza çok teşekkür ederim.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:06:01 -->-> Daha önceki mesaj 15:43:21 --

    Acidmax tekrar aklıma bir şey geldi de,
    Ben bunu 5 gün 6 saat 11 saniye şeklinde nasıl yapabilirim peki?
    24*60*60 kısmını 24*60*60*60 şeklinde mi yapmalıyım?
    Teşekkürler.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:17:20 -->-> Daha önceki mesaj 16:06:01 --

    <?php
    $simdi=time();
    $zaman=mktime(0,0,0,1,1,2011);
    $fark=abs($simdi-$zaman); // geçmiş zaman ihtimaline karşılık mutlak değeri alınıyor.
    $gun=floor($fark/(24*60*60));
    $saat=floor(($fark-$gun*24*60*60)/(60*60));
    $dakika=floor(($fark-($gun*24*60*60+$saat*60*60))/60);
    $saniye=$fark-($gun*24*60*60+$saat*60*60+$dakika*60);
     
    echo "1 Ocak 2011 ile aramızda $gun gün $saat saat $dakika dakika $saniye saniye vardır.";
    ?>

    Teşekkürler, buldum