Avatar billede avminarm Juniormester
01. oktober 2003 - 15:23 Der er 5 kommentarer og
1 løsning

Funktion med minutter driller

Jeg har bøvlet med den her funktion et stk. tid og den vil ikke helt som jeg vil?

Den skal gennemløbe 60 minutter så det bliver en select boks i en formular, men det skal ikke bare løbe fra 1-59, den skal først liste 5,10,15 osv op til 59 og herefter 1,2,3,4,6 op til 59(ikke 5 igen) - dvs alt hvad der giver modulus 5 ( %5) skal stå i toppen og resten i bunden - jeg har forsøgt med dette:

function minut(){

    $select .= '<select name="minut">';
    $select .= '<option value="">Min</option>';

      for($x = 1; $x < 60; $x++){
    if($x % 5){
      $toparray[] = $x;
    }else{
      $bundarray[] = $x;
    }
      }

    foreach ($toparray as $value) {
    if(isset($_POST['minut']) && $value == $_POST['minut']){
            $top .= '<option value="'.$value.'" selected>'.$value.'</option>';
          }else{
            $top .= '<option value="'.$value.'">'.$value.'</option>';
          }
        //echo "Key: $key; Value: $value<br>\n";
    }

    foreach ($bundarray as $value) {
    if(isset($_POST['minut']) && $value == $_POST['minut']){
            $bund .= '<option value="'.$value.'" selected>'.$value.'</option>';
          }else{
            $bund .= '<option value="'.$value.'">'.$value.'</option>';
          }
        //echo "Key: $key; Value: $value<br>\n";
    }

  $selectslut = '</select>';
  $content = $select.$top.$bund.$selectslut;
  echo $content;
}
Avatar billede detox Nybegynder
01. oktober 2003 - 15:42 #1
Fungerer vidst ok ift beskrivelsen:

<?
function minut(){
    $select = '<select name="minut">';
    $select .= '<option value="">Min</option>';

      for($x = 1; $x < 60; $x++){
    if($x % 5){
      $bundarray[] = $x;
    }else{
      $toparray[] = $x;
    }
      }
    $top = "";
    foreach ($toparray as $value) {
    if(isset($_POST['minut']) && $value == $_POST['minut']){
            $top .= '<option value="'.$value.'" selected>'.$value.'</option>';
          }else{
            $top .= '<option value="'.$value.'">'.$value.'</option>';
          }
        //echo "Key: $key; Value: $value<br>\n";
    }
    $bund = "";
    foreach ($bundarray as $value) {
    if(isset($_POST['minut']) && $value == $_POST['minut']){
            $bund .= '<option value="'.$value.'" selected>'.$value.'</option>';
          }else{
            $bund .= '<option value="'.$value.'">'.$value.'</option>';
          }
        //echo "Key: $key; Value: $value<br>\n";
    }

  $selectslut = '</select>';
  $content = $select.$top.$bund.$selectslut;
  echo $content;
}
minut();
?>
Avatar billede avminarm Juniormester
01. oktober 2003 - 15:58 #2
ok - det kan jeg kun give dig ret i, men på http://wagners.users.whitehat.dk/sft/indtast_resultat.php se under "min" - der vender den det om og det er nøjagtig samme kodestump? mystisk
Avatar billede detox Nybegynder
01. oktober 2003 - 16:04 #3
Jeg byttede jo rundt på top og bund:

for($x = 1; $x < 60; $x++){
    if($x % 5){
      $bundarray[] = $x;
    }else{
      $toparray[] = $x;
    }
}

da, det gav det korrekte resultat. Hvis det bliver omvendt hos dig, må der være en brist i 'modulos'?
Avatar billede detox Nybegynder
01. oktober 2003 - 16:05 #4
'modulos' returnerer jo kun noget når 5 ikke går op i $x.
Avatar billede avminarm Juniormester
02. oktober 2003 - 08:03 #5
dooooo - selvfølgelig ;o] - jeg takker mange gange - smid lige et svar
Avatar billede detox Nybegynder
02. oktober 2003 - 12:41 #6
Velbekommen c",)
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