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

现在,在“付款条件:”输入框中,百分比写成完全一样的“ 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]


数据库中有大量具有自己的付款条件的工作,我想我可能必须向数据库中添加4列,而不是仅将1列命名为paying且列为%/%/%/%的值。

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

我该怎么办 ?

最佳答案

您可以使用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 } ?>


我将空白选项放在第一位,因为默认情况下会选择该选项。

关于php - 更改输入格式和数据库问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20101955/

10-09 08:33
查看更多