我的任务是修复工作中的工作信息页面。当有人单击“编辑作业”来编辑作业时,会列出所有数据库标题和值的形式,他们可以单击输入框并更改并更新。基本的东西。
现在,在“付款条件:”的输入框中,百分比写得与此类似,“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列付款和值列为%/%/%/%。
显然,这似乎不是一个好的解决方案,因为需要永远修复所有作业并将每个术语的数据输入新列。
我该怎么办?
答案 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 } ?>
我先将空白选项放在首位,因为默认情况下会选择它。