【问题标题】:PHP: how to insert dynamically retrieved data in database tablePHP:如何在数据库表中插入动态检索的数据
【发布时间】:2018-12-01 18:33:51
【问题描述】:

我已从数据库中以表格形式检索数据。

从数据库中检索到表的 3 列,其余两列是下拉列表和复选框。

现在,我想从检索到的行中访问数据,并根据选中的复选框插入数据库中的另一个表,但由于所有复选框的名称都相同,所以我不能。

for($row=0; $row<$res->num_rows; $row++){
    $record = $res->fetch_array();
    print "<table><tr>
<td>".$record["movie_id"]."</td>                                
<td>".$record["movie_genre"]."</td>
<td>
<select name='dayAccess'>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    <option value='4'>4</option>
    <option value='5'>5</option>
</select>
</td>
<td>
    <input type='checkbox' name='checkMovie' value='check'/>
</td>
</tr>
</table>";

【问题讨论】:

  • 不值得回答...使用&lt;input type='checkbox' name='checkMovie[&lt;?php echo $record['movie_id' ];?&gt;]' value='check'/&gt;。此外,将&lt;table&gt; 标签放在循环之外。您不希望每个数据库元组都有专用表。
  • @Mann,您是否在其中任何一个答案中找到了合适的解决方案?如果没有,请告诉我们更多信息。否则,请接受最适合您解决问题的解决方案 - 请参阅What should I do when someone answers my question?

标签: php html forms


【解决方案1】:

根据复选框的开或关进行插入的最有效的方法是采用元素数组

我们将为您的任务选择一系列复选框:

<input type="checkbox" name="checkMovie[]" value="<?php echo $record["movie_id"]; ?>">

在您提交表单时在表单中获取上述元素后,然后在服务器端(在您的 php 代码中)您可以获得如下选中的复选框:

print_r($_POST['checkMovie']);

它将为您提供已检查的电影 ID 数组,以便您可以将该电影插入到另一个表中。

【讨论】:

  • @Mann,这是我的荣幸。
【解决方案2】:

您的代码始终为复选框生成相同的代码。

<input type='checkbox' name='checkMovie' value='check'/>

为了区分使用ID与数据库中的名称,例如:

<input type='checkbox' name='checkMovie_<?php echo $record["movie_id"]; ?>' value='check'/>

现在您可以访问检索到的数据集中唯一名称 checkMovie_# 下的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多