Avatar billede fixbabe Nybegynder
28. oktober 2007 - 20:55 Der er 7 kommentarer og
2 løsninger

Liste tider

jeg har følgende script som lister tider, den skal liste dem for hver 10 min dvs 10.00 10.10 10.20 osv. men den lister også 10.60 hvordan gør jeg så den ikke lister kl *.60 scriptet skal også liste tiderne med start fra 20 min senere, dvs hvis klokken er 16.06 nu så viser listen tiderne fra kl 16.10 da skal den så liste dem fra kl 16.30 istedet


function createOptions(){
$interval = 10 * 60;
$scope = 24 * (3600/$interval);
$options = "";

for($i=0;$i<$scope;$i++){
$now = date("w:H:i", time() + ($interval*$i));
  list($dayNum, $hours, $minutes) = explode(":", $now);
  $minutes = roundUp($minutes);
  $options .= '<option value="'.$hours.':'.$minutes.'">'.$hours.':'.$minutes.'</option>';
}
return $options;
}

<select size="1" name="time">'.createOptions().'</select>
Avatar billede nielle Nybegynder
28. oktober 2007 - 21:12 #1
Sådan?

function createOptions() {
    $interval = 10 * 60;
    $scope = 24 * (3600/$interval);
    $options = "";

    for ($i=0; $i<10; $i++) {
        $startTime = time() + $i*60;
        $startMinutes = date("i", $startTime);
        if ($startMinutes % 10 == 0) break;
    }

    for ($i=0; $i<$scope; $i++) {
        $now = date("w:H:i", $startTime + $interval*$i);
        list($dayNum, $hours, $minutes) = explode(":", $now);
        $options .= '<option value="'.$hours.':'.$minutes.'">'.$hours.':'.$minutes.'</option>';
    }

    return $options;
}
Avatar billede fixbabe Nybegynder
28. oktober 2007 - 21:18 #2
yes sådan der, så skal den bare liste tiderne ca. 20 min senere
Avatar billede nielle Nybegynder
28. oktober 2007 - 21:23 #3
function createOptions() {
    $interval = 10 * 60;
    $scope = 24 * (3600/$interval);
    $options = "";

    for ($i=0; $i<10; $i++) {
        $startTime = time() + $i*60;
        $startMinutes = date("i", $startTime);
        if ($startMinutes % 10 == 0) break;
    }

    $startTime += 20*60;

    for ($i=0; $i<$scope; $i++) {
        $now = date("w:H:i", $startTime + $interval*$i);
        list($dayNum, $hours, $minutes) = explode(":", $now);
        $options .= '<option value="'.$hours.':'.$minutes.'">'.$hours.':'.$minutes.'</option>';
    }

    return $options;
}
Avatar billede jakobdo Ekspert
28. oktober 2007 - 21:28 #4
Jeg lavede noget i stil med:

<?php
//http://www.eksperten.dk/spm/803231

function createOptions()
{
    $scope = 10; //Antal options
    $delay = 20; //Forsinkelse i minutter (I hele 10 minutter)
   
    //HACK
    $diff = date('i')%10;
    for($i = 0; $i <= $scope; $i++)
    {
        $minutes = (($i*10)+$delay) + (10 - $diff);
        $now = date('H:i',     strtotime('+'.$minutes.' minutes'));
      $options .= '<option value="'.$now.'">'.$now.'</option>';
    }
    return $options;
}
echo '<select name="time">';
echo createOptions();
echo '</select>';

?>
Avatar billede nielle Nybegynder
06. november 2007 - 17:36 #5
Har du fået kigget på forslagene?
Avatar billede fixbabe Nybegynder
06. november 2007 - 19:21 #6
Jeg kom faktisk fra det, beklager. Jeg kigger på det så snart jeg får tid.
Avatar billede fixbabe Nybegynder
21. januar 2008 - 16:44 #7
Jeg droppede dette projekt, gider i begge smide et svar så i kan dele?
Avatar billede jakobdo Ekspert
21. januar 2008 - 17:20 #8
Svar!
Avatar billede nielle Nybegynder
21. januar 2008 - 19:55 #9
Svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester