我的任务是在工作中修复职位信息页面。当某人单击“编辑作业”以编辑作业时,将列出所有数据库标题和值的形式,他们可以单击输入框并对其进行更改和更新。基本的东西。
现在,在“付款条件:”输入框中,百分比写成完全一样的“ 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/