如何从数据库中获取列值到一个弹出式窗体上,只用于用户选择的那些项目?

xam8gpfp  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(362)

我正在使用 MySQL Database 下面有一张table sponsors 有以下列的。

id | project_id | project_name | sector | duration | budget | location

现在,我在中创建了一个页面 php 用户可以通过单击复选框一次选择多个项目,如下图所示:

选择项目后,当用户单击submit时,会出现一个弹出窗体,如下所示:

上面应该有逗号分隔的 project_id (来自数据库)按用户列出的所有选定项目。
到目前为止,我已经做了这么多的编码:

<!-- //CheckBOX -->
 <td> <input type="checkbox" name="check_id[]"
                            value="<?php $row["project_id"];?>"> </td>
 <td> <?php echo $data["project_id"]; ?>   </td>
 <td> <?php echo $data["project_name"]; ?> </td>

看到这个可以看到完整的代码。
所以,我的问题是如何从数据库中获取列值到一个弹出窗体上,只为用户选中复选框的那些项目?
我怎样才能做到这一点。我愿意接受任何语言的合理解决方案,但更愿意使用javascript或php。

ukxgm1gy

ukxgm1gy1#

我假设您正在添加带有某种循环的表行,如果是这样,您可以在复选框中指定键的值 name 字段,然后在另一端使用它来拉匹配的 $data[] 价值观;

<?php foreach ($yourArray as $key => $data): ?>
<!-- //CheckBOX -->
 <td> <input type="checkbox" name="check_id[<?php echo $key; ?>]"
                            value="YES"> </td>
 <td> <?php echo $data["project_id"]; ?>   </td>
 <td> <?php echo $data["project_name"]; ?> </td>
<?php endforeach; ?>

然后当表单被提交时,您将键拉回来并使用它来检索原始数组中的值。它看起来像这样:

foreach ($_POST['check_id'] as $key => $value) {
    if ($value == 'YES') {
        $selectedRows[] = $yourArray[$key];
    }
}

相关问题