我的任务是在工作中修复工作信息页面。当有人点击“编辑职位”来编辑职位时,会列出所有数据库标题和值的表格,他们可以单击输入框进行更改和更新。基本的东西。
现在,在“付款条件:”的输入框中,百分比的写法与此完全相同,“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 列名为 payment 且值列为 %/%/%/% 的列。
显然,这似乎不是一个好的解决方案,因为修复所有作业并将每个术语的数据输入新列将花费很长时间。
我应该做什么?
最佳答案
您可以使用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/