gpt4 book ai didi

php - 将 $_POST 数组插入数据库

转载 作者:行者123 更新时间:2023-11-29 12:39:50 24 4
gpt4 key购买 nike

我的数据库中的列:stat_id、stat1、stat2、stat3。

我使用的表单允许我循环浏览成员列表并分别输入 3 个不同的统计数据。 ($member_stat 已经是一个数组,其中包含 'stat_id' 作为其键之一)

foreach($member_stats as $member_stat) {
echo '<label for="stat1"> Stat 1</label>';
echo '<input type="text" name="'.$member_stat['stat_id'].'stat1" id="stat1" />';
echo '<label for="stat2"> Stat 2</label>';
echo '<input type="text" name="'.$member_stat['stat_id'].'stat2" id="stat2" />';
echo '<label for="stat3"> Stat 3</label>';
echo '<input type="text" name="'.$member_stat['stat_id'].'stat3" id="stat3" /><br />';
}

我点击提交,我的 $_POST 数组/数据如下所示:

Array (

[157stat1] = 1
[157stat2] = 4
[157stat3] = 7
[158stat1] = 2
[158stat2] = 2
[158stat3] = 6
[159stat1] = 8
[159stat2] = 6
etc...
)

我的问题是:如何获取这个 $_POST 数组并将其插入到我的数据库中,如上所述?即。

157 stat1 stat2 stat3
158 stat1 stat2 stat3
159 stat1 stat2 etc...

我尝试过各种方法,但很难将 stat_id 与 $_POST 键中的不同统计数据分开(即:来自 stat1、stat2、stat3 的 157)。我想知道我是否在表单中设置错误,应该以其他方式命名我的输入。

最佳答案

$out = array();

$post= array(
'157stat1' => 1,
'157stat2' => 2,
'157stat3' => 3,
'158stat1' => 1
);

foreach($post as $key => $value)
{
if (preg_match('/^(\d+)(\w+)$/', $key, $match) !== 0)
$out[$match[1]][] = $match[2];
}

var_dump($out);

之后循环遍历 $out 并准备 SQL 语句。

foreach($out as $key => $values)
{
// escape array $values (array('stat1', 'stat2', 'stat3, ...) for each $key)
// and string $key (it will be 157, 158 and so on)
// prepare and execute SQL statement
// function join will help to deal with array $values
}

关于php - 将 $_POST 数组插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com