[PHP] For loop + berekening

Pagina: 1
Acties:
  • 59 views sinds 30-01-2008

  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06-2025
Ik heb weer eens een probleem met een berekening..
Alleen kom er nu even niet aan uit ook al ben ik erg ver gekomen met het intcijferen ervan...
Het probleem:
Ik wil een berekening doen met uitkeringen.
Hierbij selecteer ik eerst de uitkeringen die ik moet hebben gefilterd op abonid.
vervolgens worden de results in een array gedaan $_bonus.
dan wordt er een telling gedaan hoeveel results er zijn. dit heb ik gedaan zodat ik het aantal kan meenemen in de for-loop.
hij moet dan vervolgens de results van de eerste query bij elkaar optellen.
Alleen doet hij dat niet egt bepaald..
Met deze test zijn er 2 resultaten namelijk: 220 en 10 en deze moet hij gewoon optellen naar 230 :)
Ik heb voor de for-loop een $totaalBonus aangemaakt die waarde 0 heeft.
Na het runnen van deze script geeft hij nog steeds 0 terug..
de query klopt want als ik stuk voor stuk de andere gegevens terugkoppel dan komen de goede gegevens eruit.
$output_bonus = 220,10
$_bonus[0] = 220
$_bonus[1] = 10
$count = 2
$totaalBonus = 0 //deze moet dus 230 worden..
De code:
PHP:
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
<?php
## -------------------------------------------------------------------------------------------------------------- ##
    //connection
    include_once("../includes/db.inc.php"); 

## -------------------------------------------------------------------------------------------------------------- ##
    //input waarde
    $abonid = $_REQUEST['abonid'];
    
    //query gegevens gekoppelde uitgekeerde bonussen
    $query_uitkbonus = "SELECT uitgekeerde_bonus
                        FROM Providers_uitkering 
                        WHERE abonid = '$abonid'";
    $res_uitkbonus = mysql_query($query_uitkbonus, $conn);
    while ($row_bonus = mysql_fetch_assoc ($res_uitkbonus)) {  
        foreach (array_keys($row_bonus) as $bonus) {  
            $output_bonus .= htmlspecialchars($row_bonus["$bonus"]);
            $output_bonus .= ",";    
        }  
    }

    $_bonus = explode(',',$output_bonus);
    
    $query_count = "SELECT COUNT(*)
                    FROM Providers_uitkering 
                    WHERE abonid = '$abonid'";
    $res_count = mysql_query($query_count, $conn);
    $count = mysql_result($res_count,0);
    
    $totaalBonus = 0;
    for($i=0; $i >= $count; $i++){
        if(!empty($_bonus[$i])){
            $totaalBonus = $totaalBonus + $_bonus[$i];
        }
        else{
            $totaalBonus = $totaalBonus;
        }
    }
?>

Het gaat dus fout bij de for-loop want hij voert deze op een of andere manier niet uit
en blijft maar een '0' terug geven als resultaat.

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Kijk nog eens goed naar regel 34 en dan vooral naar de voorwaarde die je geeft.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Vervang
PHP:
34
    for($i=0; $i >= $count; $i++){

eens door
PHP:
34
    for($i=0; $i <= $count; $i++){

;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 24-04 17:08

Knutselsmurf

LED's make things better

Het kan geen kwaad om eens in de mySQL-documentatie te gaan kijken naar de SUM()-functie. Dat kan een heleboel typ-werk schelen.

- This line is intentionally left blank -


  • Tijgertje84
  • Registratie: Augustus 2005
  • Laatst online: 04-06-2025
omg ahah was al bang dat het iets simpels was.
sorry voor het ongemak maar heb er echt helemaal overheen gekeken |:(

Intel© Conroe E6600 | Asus P5Q PRO Turbo | Sapphire Vapor-X HD5770 1GB | G.E.I.L. 2 GB DDR2-667 Kit CL4 4-4-12 | WD Caviar SE16 2x250GB (S-ATA2) (Raid0) | Sunbeam Trio | Chaintec CFT-500A | Windows XP Pro SP3 | Samsung Syncmaster S23A350H


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Goed, volgende keer dus zelf even debuggen. ;)

En verder: die tip van Knutselsmurf zou ik ook even nagaan als ik jou was, die scheelt je in dit geval aardig wat regels code.
Overigens slaan de regels 38-40 ook nergens op. Over zinloos gesproken. :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.