Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 03-20-2006, 08:49 PM
Red Blaze's Avatar
Red Blaze Red Blaze is offline
 
Join Date: Jan 2003
Location: Texas
Posts: 493
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default multiple form problem.

Here's my page.

As you can see, it only remembers and calculates the last set of the form. I've been doing this all day today and still can't figure it out. I don't know alot of PHP and I'm still learning. What's my best approach to make this work? I need an automatic way to calculate the forms.

Here's the PHP code I'm using:

PHP Code:
<?php require_once('../Connections/prophot.php'); ?>
<?php

$maxRows_callprices 
3;
$pageNum_callprices 0;
if (isset(
$_GET['pageNum_callprices'])) {
  
$pageNum_callprices $_GET['pageNum_callprices'];
}
$startRow_callprices $pageNum_callprices $maxRows_callprices;

mysql_select_db($database_prophot$prophot);
$query_callprices "SELECT * FROM prices";
$query_limit_callprices sprintf("%s LIMIT %d, %d"$query_callprices$startRow_callprices$maxRows_callprices);
$callprices mysql_query($query_limit_callprices$prophot) or die(mysql_error());
$row_callprices mysql_fetch_assoc($callprices);

if (isset(
$_GET['totalRows_callprices'])) {
  
$totalRows_callprices $_GET['totalRows_callprices'];
} else {
  
$all_callprices mysql_query($query_callprices);
  
$totalRows_callprices mysql_num_rows($all_callprices);
}
$totalPages_callprices ceil($totalRows_callprices/$maxRows_callprices)-1;

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form id="calculation" name="calculation" method="post" action="">
  <table border="1" cellpadding="0" cellspacing="0">
    <?php do { ?>
    <tr>  
        <td><?php echo $row_callprices['size']; ?></td>
        <td><?php echo $row_callprices['paper']; ?></td>
        <td><input name="quantity" type="text" id="quantity" value="<?php echo $quantity?>" /></td>
        <td>$<?php $unitprice $row_callprices['price']; echo $unitprice$subtotal $quantity $unitprice?></td>
      </tr>
    <?php } while ($row_callprices mysql_fetch_assoc($callprices)); ?>
    <tr>
      <td colspan="4"><?php echo $subtotal?></td>
    </tr>
  </table>
  <p>
    <input name="price" type="submit" id="price" value="Update Price" />
  </p>
</form>
</body>
</html>
<?php
mysql_free_result
($callprices);
?>
My head's about to explode. gre:

I made a different approach, but still ended up having the same problem. The last form is the only data remembered. Please help.

Edited the php code.

Yay me, I figured out a way to make them individual. Now I want to have a grand total function, but I keep getting the wrong answer. This is my new code:

PHP Code:
<?php require_once('../Connections/prophot.php'); ?>
<?php

$maxRows_callprices 
3;
$pageNum_callprices 0;
if (isset(
$_GET['pageNum_callprices'])) {
  
$pageNum_callprices $_GET['pageNum_callprices'];
}
$startRow_callprices $pageNum_callprices $maxRows_callprices;

mysql_select_db($database_prophot$prophot);
$query_callprices "SELECT * FROM prices";
$query_limit_callprices sprintf("%s LIMIT %d, %d"$query_callprices$startRow_callprices$maxRows_callprices);
$callprices mysql_query($query_limit_callprices$prophot) or die(mysql_error());
$row_callprices mysql_fetch_assoc($callprices);

if (isset(
$_GET['totalRows_callprices'])) {
  
$totalRows_callprices $_GET['totalRows_callprices'];
} else {
  
$all_callprices mysql_query($query_callprices);
  
$totalRows_callprices mysql_num_rows($all_callprices);
}
$totalPages_callprices ceil($totalRows_callprices/$maxRows_callprices)-1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form id="calculation" name="calculation" method="post" action="">
  <table border="1" cellpadding="0" cellspacing="0">
    <?php do { ?>
    <tr>
    <?php
    $number 
$row_callprices['priceid'];
$quantity $_POST["amount$number"];
    
?>  
        <td><?php echo $row_callprices['size']; ?></td>
        <td><?php echo $row_callprices['paper']; ?></td>
        <td><input name="amount<?php echo $row_callprices['priceid']; ?>" type="text" id="quantity" value="<?php echo $quantity?>" /></td>
        <td>$
          <?php
          $unitprice 
$row_callprices['price'];
          echo 
$unitprice;
          
$subtotal $quantity $unitprice;
          
          
?></td>
          <td>$
            <?php echo $subtotal?></td>
      </tr>
<?php } while ($row_callprices mysql_fetch_assoc($callprices)); ?>
<tr>
      <td colspan="5" align="right">
      <?php
      
echo $grandtotal;
      
?>0
      </td>
    </tr>
  </table>
  <p>
    <input name="price" type="submit" id="price" value="Update Price" />
  </p>
</form>
</body>
</html>
<?php
mysql_free_result
($callprices);
?>
I put a zero there so I can find it easier. The variable is $grandtotal, which means nothing now, because I took off the function. The function I used was:

PHP Code:
$grandtotal $unitprice $quantity $subtotal
But that always gave me the wrong answer.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:43 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03644 seconds
  • Memory Usage 2,252KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete