更改输入格式和数据库问题

时间:2013-11-20 16:52:19

标签: php html mysql database

我的任务是修复工作中的工作信息页面。当有人单击“编辑作业”来编辑作业时,会列出所有数据库标题和值的形式,他们可以单击输入框并更改并更新。基本的东西。

现在,在“付款条件:”的输入框中,百分比写得与此类似,“40/40/20”,因此在付款数据库中,它们被列为40/40/20。

所以标签+输入框如下所示,付款条件:[40/40/20]。

<p><label for='payment'>Payment Terms</label><input name='payment'
id='payment' value='<?php if(isset($data2['payment'])) echo 
$data2['payment']; ?>' /></p>

我想将其更改为4个下拉框,可以选择百分比,例如

Payment terms: [40]
               [40]
               [20]
               [empty]

在数据库中有一个TON的作业有自己的付款条件,我想我可能需要在数据库中添加4列,而不是只列出1列付款和值列为%/%/%/%。

显然,这似乎不是一个好的解决方案,因为需要永远修复所有作业并将每个术语的数据输入新列。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用explode从数据库中拆分字符串。然后你可以制作4个<select>框:

<?php
$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) { ?>
<select>
  <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>
<?php } ?>

我先将空白选项放在首位,因为默认情况下会选择它。