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

标签 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]

数据库中有大量具有自己付款条件的职位,我想我可能需要向数据库添加 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/

相关文章:

html - IE9随机?不显示内容、链接失败等?? CSS?

html - 图片上的 anchor 在 IE 10 中不可点击,但在 IE 11、Firefox 和 Chrome 中有效

php - 如何让 Doctrine 在 Symfony2 的辅助函数中工作

php - Unity 是否支持 PHP session ?

php - Hash Secure 不适用于 MIGS 支付

javascript - 在某个div中打开链接并替换html上的div图像

php - 从 PHP 使用 SSL 连接到远程 MySQL 服务器

mysql - 自动更新数据库 "id"字段

mysql - 无法再在 Debian 8 中安装 MySQL 8

php - 如何在 codeigniter 日历的每个单元格中插入复选框