我应该创建另一个表列还是有另一种方法可以执行此操作?

时间:2013-11-29 18:12:59

标签: php mysql database

我在试图弄清楚如何解决这个问题时遇到了问题。

我有一个包含Table的数据库,用于保存作业信息。有一个名为“付款”的列,每个付款条件的值%就像这样分开:http://i.imgur.com/Y2Lb48e.png

所以在底部,这些数值将为40%,40%,20%。

在表单中,这些值与数据库中显示的完全相同,40/40/20。

我的任务是创建4个选项框,而每个选项框的值都在10%到100%之间。这是代码的样子。

        <label for='payment'>Payment Terms</label>
            <?php
            // Create 4 % boxes that add up to %100 for Payment Terms
            // Must validate and add up to %100
            $selects = 4;
            if (isset($data2['payment'])) {
              $percentages = explode("/", $data2['payment']);
              // Make sure that the array is long enough by adding zeroes to the end
              while (count($percentages) < $selects) $percentages[] = 0;
            }
            else {
              $percentages = array_fill(0, $selects, 0);
            }

            $options = range(10, 100, 10);

            for ($i = 0; $i < $selects; ++$i) { ?>
            <ul style="list-style-type: none;"><li><select id="paymentSelect">
              <option></option>
              <?php foreach ($options as $o) { ?>
                 <option value="<?php echo $i; ?>"
                  <?php if ($o == $percentages[$i]) echo ' selected="selected"'; ?>>
                    <?php echo $o; ?>
                </option>
              <?php } ?>
            </select></li></ul>
            <?php } ?>

这就是现在表格的样子:http://i.imgur.com/2OvDtsn.png

蓝色日期框是我想要创建的。我是否必须在表格中添加新列?如何将每个百分比链接到每个日期,因为百分比已经在表中?

2 个答案:

答案 0 :(得分:2)

您可以在数据库中制作新表格&#34;付款&#34;并使用外键将其绑定到原始表格,您的付款列和日期列。然后,您可以获得您想要的支付百分比和日期。

答案 1 :(得分:0)

对于10个选项或20个选项或任何保存总是更改表中的列,我可能会想要将来证明这一点。你有4行显示你的付款条件 - 每个日期和%对。如果您有多种可能性 - 即多个客户具有不同的付款条件,那么您的表应该有一个client_id。通过这种方式,您可以为一些客户提供2次付款,其他客户则为50次 - 只需添加带字段的行(client_id,%,date)即可。

验证是相同的,表格更简单。要检索付款数据,您将获取多行,这些行使得从PHP构建表格的过程相当简单。

最佳

尼克