kostenloser Webspace werbefrei: lima-city


PHP wieviel zeit noch bis

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    Ich habe auf meine Homepage ähnlich wie bei Lima-City "Auktionen". Und jede Auktion geht 5 Stunden. Also speichere ich in die Datenbank $bis =time()+18000; soweit so gut. Beim auslesen will ich das ausgegen wird viel Stunden,Minuten und wie viel sek die Auktion noch läuft. Wie kann ich das machen? Es soll aber auch nur das angezeigen was unbedingt nötig ist also wenn es nur noch 10 sek geht soll dort nicht stehen 0 Stunden 0 Minuten 10 sek. Hat jemand ne Idee?
    Danke Schonmal!
    LG
    Chrissi


    edit: Ich habe es jetzt soweit:
    <?php
    $newDate = time()+18000; //bis wann die Auktione geht
    
    $actDate = time();
    
    $diffDate = ($newDate-$actDate);
    
    
    $hours = floor($diffDate / 60 / 60);
    $diffDate = ($diffDate - ($hours*60*60));
    $minutes = floor($diffDate/60);
    $diffDate = $diffDate - ($minutes*60);
    $seconds = floor($diffDate);
    
    echo "$hours Std, $minutes Min,$seconds Sek<br>";
    ?>


    ich weiß nur nicht wie ich es hinbekomme das nur das nötigste angezeigt wird. Kann mir wer helfen?
    Danke Schonmal

    Beitrag zuletzt geändert: 14.3.2010 18:06:14 von christian1603
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mache eine Schleife, in der du die verbleibenden Stunden zählst und dann hoch addierst, darunter eine Scheife für die Minuten und was noch übrig bleibt sind die Sekunden. Dann prüfst du bei jedem, ob es ==0 ist, und wenn ja, ignorierst du den Wert einfach.
  4. Hallo,

    wie wäre es mit:
    $remaining = $bis - time();
    if(idate(H, $remaining) > 0) {echo idate(H, $remaining).' h ';}
    if(idate(i, $remaining) > 0) {echo idate(i, $remaining).' min ';}
    if(idate(s, $remaining) > 0) {echo idate(s, $remaining).' s';}
    Sollte gehen ;-)

    Einfach if Abfrage ob h oder min größer als Null ist.

    Gruß
    illuxio

    EDIT: Gerade getestet und es geht ;-)

    Beitrag zuletzt geändert: 14.3.2010 18:10:36 von illuxio
  5. Ich das schnell mal gecodet:
    for($h=0; $bis>=3600; $h++) {
    	$bis = $bis - 3600;
    }
    for($m=0; $bis>=60; $m++) {
    	$bis = $bis - 60;
    }
    $s = $bis;
    if($h!=0) {
    	echo 'Stunden: '.$h;
    }
    if($m!=0) {
    	echo '<br>Minuten: '.$m;
    }
    if($s!=0) {
    	echo '<br>Sekunden: '.$s;
    }
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!