<?php
include 'dbconnection.php';
$Days=0; $Kg=0.00; $Wage=0.00;
$Rate=0.00; $KgDivDays=0.00; $ExtraKgs = 0.00;
$WageExtraKgs=0.00; $TotalWages=0.00;
$BalanceWage=0.00; $EightPerc=0.00; $TwelvePerc=0.00; $ThreePerc=0.00;
$Advances=0.00; $FestAdvances=0.00;
//execute the SQL query and return records
$result = mysql_query("SELECT EmployeeName,DailyRate FROM employees");
//fetch the data from the database
try{
$i = 0;
while ($row = mysql_fetch_array($result)) {
echo "<tr><td>".$row{'EmployeeName'}."</td>";
$Rate=$row{'DailyRate'};
//echo "<td>".$Rate."</td>";
//echo "<td style = 'display:none'>".$row{'DailyRate'}."</td>";
//echo $Rate;
echo "<td><input type='text' name='Days' id='Days".$i."' onChange='CalcWage(".$i.");'/></td>";
echo "<td id='Wage".$i."'>".$Wage."</td>";
echo "<td><input type='text' name='Kg' id='Kg".$i."' onChange='CalcAmount(".$i.");'/></td>";
echo "<td id='KgDivDays".$i."'>".$KgDivDays."</td>";
echo "<td id='ExtraKgs".$i."'>".$ExtraKgs."</td>";
echo "<td id='WageExtraKgs".$i."'>".$WageExtraKgs."</td>";
echo "<td id='TotalWages".$i."'>".$TotalWages."</td>";
echo "<td id='EightPerc".$i."'>".$EightPerc."</td>";
echo "<td id='TwelvePerc".$i."'>".$TwelvePerc."</td>";
echo "<td id='ThreePerc".$i."'>".$ThreePerc."</td>";
echo "<td><input type='text' name='Advances' id='Advances".$i."'/></td>";
echo "<td><input type='text' name='FestAdvances' id='FestAdvances".$i."' onChange='CalcBalanceWage(".$i.");'/></td>";
echo "<td id='BalanceWage".$i."'>".$BalanceWage."</td>";
$i++;
}
}
catch(Exception $e)
{echo "error".$e;}
?>
<script type="text/javascript">
function CalcWage(i){
var Days=document.getElementById('Days'+i).value;
var php_rate = "<?php echo $Rate; ?>";
//alert(php_rate);
var Wage=parseFloat(Days*php_rate);
document.getElementById('Wage'+i).innerHTML= Wage;
return Wage;
}
function CalcAmount(i){
var Kg=document.getElementById('Kg'+i).value;
var Days=document.getElementById('Days'+i).value;
var KgDivDays = parseFloat(Days*4);
document.getElementById('KgDivDays'+i).innerHTML= KgDivDays;
var ExtraKgs=Kg-KgDivDays;
document.getElementById('ExtraKgs'+i).innerHTML= ExtraKgs;
var WageExtraKgs=ExtraKgs*50;
document.getElementById('WageExtraKgs'+i).innerHTML= WageExtraKgs;
var BasicSal = CalcWage(i);
var TotalWages= BasicSal + WageExtraKgs;
document.getElementById('TotalWages'+i).innerHTML= TotalWages;
var EightPerc= parseFloat(BasicSal * 0.08);
document.getElementById('EightPerc'+i).innerHTML= EightPerc;
var TwelvePerc= parseFloat(BasicSal * 0.12);
document.getElementById('TwelvePerc'+i).innerHTML= TwelvePerc;
var ThreePerc= parseFloat(BasicSal * 0.03);
document.getElementById('ThreePerc'+i).innerHTML= ThreePerc;
return TotalWages;
}
function CalcBalanceWage(i){
var Advances=parseFloat(document.getElementById('Advances'+i).value);
var FestAdvances=parseFloat(document.getElementById('FestAdvances'+i).value);
var TotWage = CalcAmount(i);
var BasSal = CalcWage(i);
var Deductions = parseFloat(Advances+FestAdvances+(BasSal*0.08));
var BalanceWage=parseFloat(TotWage-Deductions);
document.getElementById('BalanceWage'+i).innerHTML= BalanceWage;
return BalanceWage;
}
</script>
<?php
//close the connection
mysql_close($dbhandle);
?>
問題:我有一個僱員的數據庫表,我在這裏查詢以獲取員工姓名和他們各自的日常費用。在我的桌子上,我每天爲3名員工提供500,600和600的費率。當我在while循環中迴應各自的費率時,它會針對每位員工顯示正確的值。然而,當我乘以天時,它似乎總是乘以600(儘管我的分貝中的第一個值是500)。感謝您能否指出我出錯的地方。在php中乘法的問題
看看輸出到瀏覽器的源代碼。很確定'php_rate'是600. – deceze
你可以將代碼縮減到最小的測試用例,它顯示你正面臨的問題? – Basic
你爲什麼混合JavaScript和PHP邏輯?分離成.js文件以便維護。 –