need help with code

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
ckdoublenecks
Forum Newbie
Posts: 21
Joined: Mon Jan 24, 2011 6:47 pm

need help with code

Post by ckdoublenecks »

the amtdue doesn't print the 2 decimals, and the balance printed is wrong. I've confirmed that all the amounts in the database are decimal(7,2) ??? This code worked when I was adding the paidamt to the balance.

Code: Select all

<html><head>
<!--when the paidamt is keyed in, the current date, pd & balance are autoinserted-->
<script>
function $_(IDS) { return document.getElementById(IDS); }
function calculate_paid() {
   var pd = document.getElementById("pd");
   var datepaid = document.getElementById("datepaid");
   var amtdue = document.getElementById("amtdue");
   var paidamt = document.getElementById("paidamt");
   var balance = document.getElementById("balance");
// ********************set up date**********************
  var dateNow = new Date();
  var dayNow = dateNow.getDate();
  var datePaid = (dateNow.getMonth()+1)+"/"+dateNow.getDate()+"/"+dateNow.getFullYear();
datepaid.value = datePaid;
// ***************end date setup*************************
// ********calculate balance & set up pd*** 
amtdue.value = parseFloat(amtdue.value);
balance.value = parseFloat(balance.value) - parseFloat(paidamt.value);
pd.value = "P";
// ********************* end of calcs ******************
}
</script>
<script type="text/javascript">
window.google_analytics_uacct = "UA-256751-2";
</script>
<script type="text/javascript">
window.google_analytics_uacct = "UA-256751-2";
</script>
</head><body>
<?php
mysql_connect("localhost","root","");
mysql_select_db('oodb') or die( "Unable to select database");
if(!empty($_POST["submit"]))
{
$invnum = $_POST['invnum'];
$query="SELECT * FROM oocust Where invnum='$invnum'";
$result=mysql_query($query);
if(mysql_num_rows($result))
{
?>
<form action="#" method="post"><strong>Invoice Payment :</strong><br /><br /> 
<table cellspacing="0" cellpadding="0" border="1">  
   <tr>    
<th>Inv#</th>    
<th>check/ord#</th>    
<th>Name</th>    
<th>Description</th>    
<th>Paid Amt</th>    
<th>Amt Due</th>    
<th>Date Paid</th>    
<th>Code</th>    
<th>Balance</th>    
   </tr> 
<?php 
while($row = mysql_fetch_assoc($result))
   {
extract($row); 
?>  
<tr>   
<td><input type="text" size="5" name="invnum" value="<?php echo $invnum;?>" /></td>
<td><input type="text" size="5" name="ordernum" value="<?php echo $ordernum;?>" /></td>
<td><input type="text" size="25" name="bname" value="<?php echo $bname;?>" /></td>
<td><input type="text" size="25" name="descr" value="<?php echo $descr;?>" /></td>
<td><input type="text" size="7" id="paidamt" name="paidamt" value="<?php echo $paidamt;?>"
onBlur="calculate_paid(this);" /></td>   
<td><input type="text" size="7" id="amtdue" name="amtdue" value="<?php echo $amtdue;?>" /></td>
<td><input type="text" size="10" id="datepaid" name="datepaid" value="<?php echo $datepaid;?>"></td>   
<td><input type="text" size="1" id="pd" name="pd" value="<?php echo $pd;?>"></td>   
<td><input type="text" size="7" id="balance" name="balance" value="<?php echo $balance;?>"></td>     
</tr>  
<?php 
    } 
?> 
</table> 
<input type="submit" name="update" value="Make Payment" /> 
</form> 
<?php 
    }
else
    {  
echo "No listing for invoice no. $invnum.<br />Please select another.<br />"; 
    }
   }
if(isset($_POST["update"]))
  { 
$sql = "UPDATE oocust SET 
pd = '" . mysql_real_escape_string($_POST['pd']) . "',
datepaid = '" . mysql_real_escape_string($_POST['datepaid']) . "',
paidamt = '" . mysql_real_escape_string($_POST['paidamt']) . "',
amtdue = '" . mysql_real_escape_string($_POST['amtdue']) . "',
balance = '" . mysql_real_escape_string($_POST['balance']) . "'
WHERE invnum='".$_POST["invnum"]."'";
mysql_query($sql) or die("Update query failed: " . mysql_error());
echo "Record for invoice ".$_POST["invnum"]." has been updated";
}
?>
<form method="post" action="#">
<br />
<input type="text" name="invnum"/> <p>
<input type="submit" name="submit" value="select invoice no."/>
</form>
<script type="text/javascript"><!--
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//-->
</script>
<script type="text/javascript"><!--
try {
var pageTracker = _gat._getTracker("UA-256751-2");
pageTracker._trackPageview();
} catch(err) {}
//-->
</script>
<script type="text/javascript"><!--
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//-->
</script>
<script type="text/javascript"><!--
try {
var pageTracker = _gat._getTracker("UA-256751-2");
pageTracker._trackPageview();
} catch(err) {}
//-->
</script>
</body></html>
Last edited by califdon on Mon Apr 23, 2012 1:28 pm, edited 1 time in total.
Reason: Moderator changed [code ] tags to [syntax=php ] tags for readability.
x_mutatis_mutandis_x
Forum Contributor
Posts: 160
Joined: Tue Apr 17, 2012 12:57 pm

Re: need help with code

Post by x_mutatis_mutandis_x »

$amtdue_2decimals = number_format($amtdue, 2);

http://us3.php.net/manual/en/function.number-format.php
ckdoublenecks
Forum Newbie
Posts: 21
Joined: Mon Jan 24, 2011 6:47 pm

Re: need help with code

Post by ckdoublenecks »

thanks for the input. I read the php link & your response but I don't understand
x_mutatis_mutandis_x
Forum Contributor
Posts: 160
Joined: Tue Apr 17, 2012 12:57 pm

Re: need help with code

Post by x_mutatis_mutandis_x »

ckdoublenecks wrote:thanks for the input. I read the php link & your response but I don't understand
It formats a float value with a 2 decimal points. Your question was about the 2 decimals not being shown on the page. Can you tell me the values of each of the following: $amtdue, $paidamt, $balance that get displayed on your page?
Post Reply