Begbie Posted November 2, 2009 Share Posted November 2, 2009 Hello to everybody, I have problem and I hope that someone can help me. I have function in where I make some calculation and store that information in one variable. So how can I return every row from this variable. Variable (data) that I want to return is called $gesamt_gehalt. And if I just make return $gesamt_gehalt I become only last data from that variable as return but I need all data. Can someone tell me how is it possible to get this. Should I use array or something. Please help. I am new to PHP so I hope I was understandable what I need Thanks in advance. <?php function getTableForUser2($id, $vonDatum, $bisDatum){ $user_data="SELECT s.datum, s.schicht, au.stundenlohn, a.von, a.bis, s.bargeld, s.belege, s.gutschein, s.rechnung, s.sonstiges, s.umsatz, s.kassiert FROM arbeitszeiten a, authuser au, schichtumsatz s WHERE s.datum BETWEEN ".$vonDatum." AND ".$bisDatum." AND au.id=".$id." AND a.mitarbeiterid = ".$id." AND a.schicht=s.id ORDER BY s.datum ASC, schicht DESC "; $zeit_summe ="SELECT s.datum, s.schicht, s.bargeld, au.stundenlohn, a.von, a.bis, summe.zeit FROM arbeitszeiten a, authuser au, schichtumsatz s, ( SELECT s.datum, s.schicht, sum(a.bis - a.von) As zeit FROM arbeitszeiten a, schichtumsatz s WHERE a.schicht = s.id AND s.datum BETWEEN ".$vonDatum." AND ".$bisDatum." GROUP BY s.datum, s.schicht ) AS summe WHERE s.datum BETWEEN ".$vonDatum." AND ".$bisDatum." AND au.id=".$id." AND a.mitarbeiterid = ".$id." AND a.schicht=s.id AND s.datum = summe.datum AND s.schicht = summe.schicht ORDER BY s.datum ASC, s.schicht DESC "; $user_data_query = mysql_query($user_data); $zeit_summe_query = mysql_query($zeit_summe); echo mysql_error(); $gesamt_gehalt = 0.; while ($row_users2 = mysql_fetch_array($user_data_query)){ $row_users3 = mysql_fetch_array($zeit_summe_query); $gesamt_zeit = stunden($row_users2["von"], $row_users2["bis"]); $eingegeben = $row_users2["bargeld"] + $row_users2["belege"] + $row_users2["gutschein"] + $row_users2["rechnung"] + $row_users2["sonstiges"]; $gesamt_gehalt = 0.; $x = 0.5; $putzgeld = $x * $row_users3['zeit']; $gehalt = $gesamt_zeit * $row_users2["stundenlohn"]; $row_stand_fehlend = getStand($row_users2["datum"]); $stand = round($row_stand_fehlend["stand"]/14.,2); $fehlend = round($row_stand_fehlend["fehlend"]/14.,2); $tgprost = $eingegeben - $putzgeld - $stand - $fehlend; $tgprost2 = $tgprost/ $row_users3['zeit']; $tgprost2 = round($tgprost2,2); $tg = $gesamt_zeit * $tgprost2; $tg = round($tg,2); $diff = $row_users2["umsatz"] - $row_users2["belege"]; $pro = $diff/$row_users3['zeit']; $pro = round($pro,2); $test = 52.5; if($pro>$test){ $provisionprostunde = 0.02*$row_users2["umsatz"]/$row_users3['zeit']; }else{ $provisionprostunde = 0; } $provisionprostunde = round($provisionprostunde,2); $provision = $provisionprostunde * $gesamt_zeit; $provision = round($provision,2); $gesamt_gehalt = $gehalt + $tg + $provision; } return $gesamt_gehalt; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/180024-how-to-return-every-row-from/ Share on other sites More sharing options...
phpknight Posted November 5, 2009 Share Posted November 5, 2009 Yes, use an array or use the . operator to make one long string. In the latter case, put spaces to ensure that your data does not get typecast incorrectly. Quote Link to comment https://forums.phpfreaks.com/topic/180024-how-to-return-every-row-from/#findComment-951375 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.