Jump to content

php/javascript automatic calculation


Space Cowboy

Recommended Posts

Hey guys and gals, got a toughie here for someone to help me crack. Its a PHP and Javascript issue so was unsure really which forum topost in, but here goes.....

 

 

http://www.edensteet.net/internal/newPurchaseOne.php

If you look at this page I think you will see the general gist of what im wanting. Basically you select the quantity, type in a description of an item, type in the unit cost (ie cost per item), and then it automatically calculates the last field (quantity X unit price).

Pretty easy so far!

 

But what about this: http://www.edensteet.net/internal/newPurchase.php  :o :o :o

Now the code doesnt work.  Now before anyone suggests a fix, each line need to be inserted into database. The code goes like this:

 

<?php
echo "<form name=\"frmOne\" method=\"post\" action=\"$PHP_SELF\">\n";

?>
<SCRIPT language = JavaScript>
function calculate() {
A = document.frmOne.inputQuantity.value
B = document.frmOne.inputUnitPrice.value
C = (A * B)
document.frmOne.inputLineTotal.value = C
}
</SCRIPT>
<?php


echo "<table width=\"100%\">\n";
echo "<tr>\n";
echo "<td class=\"stats\"><p>Quantity\n";
echo "</p></td>\n";

echo "<td class=\"stats\"><p>\n";
echo "Item Description\n";
echo "</p></td>\n";

echo "<td class=\"stats\"><p>\n";
echo "Unit Price\n";
echo "</p></td>\n";

echo "<td class=\"stats\"><p>\n";
echo "Line Total\n";
echo "</p></td>\n";

echo "</tr>\n";

while ($i < '10') {




echo "<tr>\n";
echo "<td class=\"stats\"><p>\n";

echo "<select name=\"inputQuantity[$i]\">\n";
echo "<option value=\"\">Quantity</option>\n";
echo "<option value=\"0\">0</option>\n";
echo "<option value=\"1\">1</option>\n";
echo "<option value=\"2\">2</option>\n";
echo "<option value=\"3\">3</option>\n";
echo "<option value=\"4\">4</option>\n";
echo "<option value=\"5\">5</option>\n";
echo "<option value=\"6\">6</option>\n";
echo "<option value=\"7\">7</option>\n";
echo "<option value=\"8\">8</option>\n";
echo "<option value=\"9\">9</option>\n";
echo "<option value=\"10\">10</option>\n";
echo "<option value=\"11\">11</option>\n";
echo "<option value=\"12\">12</option>\n";
echo "<option value=\"13\">13</option>\n";
echo "<option value=\"14\">14</option>\n";
echo "<option value=\"15\">15</option>\n";
echo "<option value=\"16\">16</option>\n";
echo "<option value=\"17\">17</option>\n";
echo "<option value=\"18\">18</option>\n";
echo "<option value=\"19\">19</option>\n";
echo "<option value=\"20\">20</option>\n";
echo "<option value=\"21\">21</option>\n";
echo "<option value=\"22\">22</option>\n";
echo "<option value=\"23\">23</option>\n";
echo "<option value=\"24\">24</option>\n";
echo "<option value=\"25\">25</option>\n";
echo "<option value=\"26\">26</option>\n";
echo "<option value=\"27\">27</option>\n";
echo "<option value=\"28\">28</option>\n";
echo "<option value=\"29\">29</option>\n";
echo "<option value=\"30\">30</option>\n";
echo "<option value=\"31\">31</option>\n";
echo "<option value=\"32\">32</option>\n";
echo "<option value=\"33\">33</option>\n";
echo "<option value=\"34\">34</option>\n";
echo "<option value=\"35\">35</option>\n";
echo "<option value=\"36\">36</option>\n";
echo "<option value=\"37\">37</option>\n";
echo "<option value=\"38\">38</option>\n";
echo "<option value=\"39\">39</option>\n";
echo "<option value=\"40\">40</option>\n";
echo "<option value=\"41\">41</option>\n";
echo "<option value=\"42\">42</option>\n";
echo "<option value=\"43\">43</option>\n";
echo "<option value=\"44\">44</option>\n";
echo "<option value=\"45\">45</option>\n";
echo "<option value=\"46\">46</option>\n";
echo "<option value=\"47\">47</option>\n";
echo "<option value=\"48\">48</option>\n";
echo "<option value=\"49\">49</option>\n";
echo "<option value=\"50\">50</option>\n";
echo "</select>\n";

echo "</p></td>\n";

echo "<td class=\"stats\"><p>\n";
echo "<input type=\"text\" name=\"inputDescription[$i]\" size=\"40\" maxlength=\"255\"/></p>\n";
echo "</p></td>\n";

echo "<td class=\"stats\"><p>\n";
echo "<input type=\"text\" name=\"inputUnitPrice[$i]\" size=\"5\" maxlength=\"255\" onKeyup=\"calculate()\"/></p>\n";
echo "</p></td>\n";

echo "<td class=\"stats\"><p>\n";
echo "<input type=\"text\" name=\"inputLineTotal[$i]\" size=\"5\" maxlength=\"255\"/></p>\n";
echo "</p></td>\n";

echo "</tr>\n";

++$i;
}



echo "<tr>\n";
echo "<td class=\"stats\"><p>\n";
echo " \n";
echo "</p></td>\n";
echo "<td class=\"stats\"><p>\n";

echo "<input type=\"submit\" type=\"submit\" name=\"submit\" value=\"Submit\"/>\n";

echo "</p></td>\n";

echo "</tr>\n";
echo "</table>\n";

echo "</form>\n";
?>

 

 

Basically this bit of the code "while ($i < '10') {"  dictates how many rows to display. Thats the form and this is the code upon submission that sends to database:

 

<?php
if (isset($_POST['submit'])) { //--IF FORM HAS BEEN SUBMITTED


// find out how many records there are to update
$size = count($_POST['inputLineTotal']);

// start a loop in order to update each record
$i = 0;
while ($i < $size) {
// define each variable
$inputQuantity= $_POST['inputQuantity'][$i];
$inputDescription= $_POST['inputDescription'][$i];
$inputUnitPrice= $_POST['inputUnitPrice'][$i];
$inputLineTotal= $_POST['inputLineTotal'][$i];


if ($inputLineTotal) {

		//--MAIN DATABSE QUERY
		$Query = "INSERT INTO internal_items (order_id, quantity, unit_price, line_price, description)
		VALUES ('77',
		'".mysql_escape_string($inputQuantity)."',
		'".mysql_escape_string($inputUnitPrice)."',
		'".mysql_escape_string($inputLineTotal)."',
		'".mysql_escape_string($inputDescription)."')";
		$resultComplete = mysql_query ($Query);
}

++$i;
}


		if ($resultComplete) { //--IF EVERYTHING SUCCESSFULL THEM DIRECT TO POSITIVE MESSAGE

		header ("Location: http://" . $_SERVER['HTTP_HOST'] . "/internal/newPurchase.php");
		exit();

		} else { //--IF NOT INSERTED INTO DATABASE SUCCESFULLY REDIRECT TO ERROR MESSAGE	
		header ("Location: http://" . $_SERVER['HTTP_HOST'] . "/internal/error.php?message=1");
		exit();
		}


} //--END IF FORM HAS BEEN SUBMITTED
?>

 

 

 

Now how do I get the javascript to work with the multiple rows of data?

 

Ive tried the obvious which is:

 

<SCRIPT language = JavaScript>

function calculate() {

A = document.frmOne.inputQuantity[$i].value

B = document.frmOne.inputUnitPrice[$i].value

C = (A * B)

document.frmOne.inputLineTotal[$i].value = C

}

</SCRIPT>

....obviouslly with php start and end braces but still no work!

 

If anyone can help, it would be much appreciated!!!!

Link to comment
Share on other sites

this is all about the javascript,

 

I'd run it through a for loop,

 

my javascript is to rough to come up with an example off the top of my head though a quick google search will show you some examples,

 

try looking for

 

javascript for loop form validation

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.