加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – $_POST接收要更新的动态数量的字段

发布时间:2020-12-13 17:41:07 所属栏目:PHP教程 来源:网络整理
导读:我不知道该怎么称呼这个问题.这是我的目标: 在第一页上,我有一个从数据库生成的表单.它循环通过将计数变量分配给字段的id(即:header_1,header_2,header_3 ……) 现在,字段的数量可能会有所不同,因为我需要添加额外信息的能力(即:header_4,header_5). 当我
我不知道该怎么称呼这个问题.这是我的目标:

在第一页上,我有一个从数据库生成的表单.它循环通过将计数变量分配给字段的id(即:header_1,header_2,header_3 ……)

现在,字段的数量可能会有所不同,因为我需要添加额外信息的能力(即:header_4,header_5).

当我提交表单时,如何为每个字段创建变量?

$header1 = $_POST [‘header_1’]

本质上,我正在寻找一种基于数组(或基于变量的变量)的简化方法:

$sql="UPDATE about SET about_header = '$head1',about_content = '$post1' WHERE about_id = '$id1'";
$result = mysql_query($sql);
$sql="UPDATE about SET about_header = '$head2',about_content = '$post2' WHERE about_id = '$id2'";
$result = mysql_query($sql);
$sql="UPDATE about SET about_header = '$head3',about_content = '$post3' WHERE about_id = '$id3'";
$result = mysql_query($sql);

我想像这样的查询可以工作,但我不知道如何处理我需要帮助构建的信息数组.

$y=1;
$sql="UPDATE about SET about_header = '$head$y',about_content = '$post$y' WHERE about_id = '$id$y'";

我希望我解释得这么好.任何帮助都会很棒.谢谢!

解决方法

你有没有试过像这样的东西:

<input name="header[]" />
<input name="header[]" />
<input name="header[]" />

这将在PHP端创建一个多维数组,您可以轻松地循环.

echo $_POST['header'][0];
echo $_POST['header'][1];
echo $_POST['header'][2];

尽管您必须切换到使用PDO之类的数据库交互,但使用预准备语句也会更快.以下是使用上面显示的代码循环的示例.

$fieldCount = count($_POST['header']);
for ($i = 0; $i < $fieldCount; $i++) {
   $sql = 'UPDATE about SET about_header = ''.$_POST['header'][$i].'',about_content = ''.$_POST['post'][$i].'' WHERE about_id = ''.$_POST['id'][$i].''';
   mysql_query($sql);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读