php tabel waardes tellen

Pagina: 1
Acties:
  • 329 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • cschot
  • Registratie: Februari 2008
  • Laatst online: 07-12-2020
Tweakers,

De volgende situatie:

09.00-17.00 8
17.00-20.00 3
09.00-17.00 8
Totaal ?

Links een bepaalde tijd en rechts het aantal uren binnen die tijd.
Nu wil ik het totaal aantal uren optellen.
de uren worden bepaald door de volgende code:


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
$result = Een array met de waardes A,a,o,om

             $o          = '09.00';
          $om       = '12.30';
          $m        = '12.00';
          $a        = '17.00';
          $A        = '20.00';
          $pauze    = '0.5';


foreach ($result as $key => $value) {
           
          print '<table>
               <tr>
                    <td>';
                    if($value == "a  "){
                    echo $a.'-'.$A;
                    }
                    if($value == "A  "){
                    echo $m.'-'.$A;
                    }
                    if($value == "o  "){
                    echo $o.'-'.$om;
                    }
                    if($value == "om  "){
                    echo $o.'-'.$a;
                    }

                                print '</td><td>';

                        if($value == "a  "){
                    echo $A-$a;
               }
               if($value == "A  "){
                    echo $A-$m-$pauze;
               }
               if($value == "o  "){
                    echo $om-$o;
               }
               if($value == "om  "){
                    echo $a-$o-$pauze;
               }
                       
                      print '</td>
                  </tr>
             <table>';
}



Hoe kan ik dat realiseren?

[ Voor 7% gewijzigd door cschot op 08-03-2010 22:23 ]


Acties:
  • 0 Henk 'm!

  • Barleone
  • Registratie: Maart 2009
  • Laatst online: 20:45
Ik ben zeer benieuwd naar de case op zich. Wat probeer je te bereiken?

Verder, gedurende de rekensommetjes kun je toch het aantal uren bijhouden in nog een extra variabele?
Bijv:
$total = 0;
Gedurende de rekensommetjes voeg je dan nog een extra regeltje code toe met $total += $a; ofzo.

[ Voor 3% gewijzigd door Barleone op 08-03-2010 22:25 ]

Tweakers.net 6 nostalgie! - Wayback Machine
Have you tried turning it off and on again?


Acties:
  • 0 Henk 'm!

  • cschot
  • Registratie: Februari 2008
  • Laatst online: 07-12-2020
ik wil de rechtse kolom met uren optellen.
in het echt is hij veel langer, maar hier heb ik hem kort gehouden.

Hoe wilde je die $total inbouwen?

Acties:
  • 0 Henk 'm!

  • Barleone
  • Registratie: Maart 2009
  • Laatst online: 20:45
Dit is vreselijk basic, maar ik had toevallig zin om ff wat tijd te doden. Ik raad je aan om een goede PHP tutorial te gebruiken, bijvoorbeeld http://w3schools.com/php/default.asp.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//$total = de optelsom :-)
$total = 0;
$result =  Een array met de waardes A,a,o,om.
$o   = '09.00';
$om  = '12.30';
$m   = '12.00';
$a   = '17.00';
$A   = '20.00';
$pauze    = '0.5';

foreach ($result as $key => $value) {
     print '<table><tr><td>';

//linkerkolom met tekst:
     if($value == "a  "){
          echo $a.'-'.$A;
     }
     if($value == "A  "){
          echo $m.'-'.$A;
     }
     if($value == "o  "){
          echo $o.'-'.$om;
     }
     if($value == "om  "){
          echo $o.'-'.$a;
     }
     print '</td><td>';

//rechterkolom met rekenresultaten:
     if($value == "a  "){
          echo $A-$a;
          $total = $total + $A-$a;
     }
     if($value == "A  "){
          echo $A-$m-$pauze;
          $total = $total + $A-$m-$pauze;
     }
     if($value == "o  "){
          echo $om-$o;
          $total = $total + $om-$o;
     }
     if($value == "om  "){
          echo $a-$o-$pauze;
          $total = $total + $a-$o-$pauze;
     }
     print '</td></tr>';
//PRINT HIER NOG EEN NIEUW REGELTJE, OF IETS DAT HET OP DE GOEDE PLEK KOMT TE STAAN IN JE TABELLETJE.
print '<table>';
}

[ Voor 94% gewijzigd door Barleone op 08-03-2010 22:48 . Reden: code geknutseld ]

Tweakers.net 6 nostalgie! - Wayback Machine
Have you tried turning it off and on again?


Acties:
  • 0 Henk 'm!

Verwijderd

Hoewel ik in de war raak van welke $value je nu bedoelt, heb ik het volgende nu neergetikt. Het werkt nu alleen niet omdat je de code op $result (nu een echte array) moet laten werken. Ik zou wel - als ik jou was - m'n code wat beter overdenken, dwz duidelijke namen voor variabelen geven, constrol structuren gebruiken die duidelijk zijn (en kort!), bv:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$result = array(
  'o'     => '09.00',
  'om'    => '12.30',
  'm'     => '12.00',
  'a'     => '17.00',
  'A'     => '20.00';
  'pauze' =>  '0.5'
);

echo '<table>';
$uren_totaal = 0;
foreach ($result as $key => $value) {
  switch ($value) {
    case 'a':
      $tijd = $a .'-'. $A;
      $uren = $A .'-'. $a;
    case 'A':
      $tijd = $m .'-'. $A;
      $uren = $A - $m - $pauze;
    case 'o':
      $tijd = $o .'-'. $om;
      $uren = $om - $o;
    case 'om':
      $tijd = $o .'-'. $a;
      $uren = $a - $o - $pauze;
    break;
  }
  echo '<tr><td>'. $tijd .'</td><td>'. $uren .'</td></tr>';
  $uren_totaal = $uren_totaal + $uren;
}
echo '<tr><td>Totaal</td><td>'. $uren_totaal .'</td></tr>';
echo '</table>';

Succes ermee, Tommy Hiliger begint nu dus heb geen tijd meer ;)

Acties:
  • 0 Henk 'm!

  • cschot
  • Registratie: Februari 2008
  • Laatst online: 07-12-2020
allemaal bedankt, ik ga ermee aan de slag

[ Voor 190% gewijzigd door cschot op 08-03-2010 23:16 ]


Acties:
  • 0 Henk 'm!

  • Alain
  • Registratie: Oktober 2002
  • Niet online
Wat nou als je een dienst krijgt van 23.00-06.00?

You don't have to be crazy to do this job, but it helps ....


Acties:
  • 0 Henk 'm!

  • cschot
  • Registratie: Februari 2008
  • Laatst online: 07-12-2020
haha dat komt niet voor, dus hoef ik er ook geen rekening mee te houden.

maar hoe zou jij dat doen?

Acties:
  • 0 Henk 'm!

  • Alain
  • Registratie: Oktober 2002
  • Niet online
Ligt er aan wat de toepassing is. Je topic maakt niet duidelijk wat de toepassing is. :)

You don't have to be crazy to do this job, but it helps ....


Acties:
  • 0 Henk 'm!

  • cschot
  • Registratie: Februari 2008
  • Laatst online: 07-12-2020
ik heb de oplossing van Barleone geprobeert.
Deze werkt. Hij telt de getallen in de rechterkolom op.

Die van tweakerert is wat korter.
Ik ga die nog een keer uitproberen.

nogmaals bedankt.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:56

Creepy

Tactical Espionage Splatterer

Voor een volgende keer: NMe in "PRG Beleid". En lees dat nu eens gewoon door ;) Het enige dat je nu doet is je code dumpen en vragen om een oplossing en dat is hier nu net niet de bedoeling. Het is erg aardig dat je kant en klare oplossing aangedragen krijgt maar de ervaring leert hier helaas dat het gros van de mensen die zoiets aangereikt krijgen het domweg kopieren en plakken zo dus hun werk door anderen laten maken zonder het zelf te begrijpen. Geef de volgende keer aub aan wat je zelf al hebt geprobeerd, wat daar niet mee lukte en plaats relevante code i.p.v. alle code die je nu hebt.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.