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
https://forums.phpfreaks.com/topic/94793-phpjavascript-automatic-calculation/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.