gpt4 book ai didi

php - 将数组值从表单插入mysql

转载 作者:行者123 更新时间:2023-11-30 00:17:43 25 4
gpt4 key购买 nike

我有 3 个 PHP 文件,在 select.php 文件中,您必须选择所需的表单数量。该表单包含 3 个输入字段。如下:

  <form method="post" action="index.php" >
Continue insertion with <select name="counters" id="insert_rows">
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
</select>
rows
<input type="submit" value="Go" />
</form>

选择插入数量后,会将数量传递给index.php,其中包含:

<?php
echo "<form method = 'POST' action = 'process.php'>";
for($counter = 0; $counter < $_POST['counters']; $counter++)
{
echo "Service Name: <input type = 'text' name = 'name[]' class = 'class_name'/><br/>";
echo "Service Version : <input type = 'text' name = 'version[]' class = 'class_name'/><br/>";
echo "Service type : <input type = 'text' name = 'type[]' class = 'class_name'/><br/>";
}
echo "<input type = 'submit' value = 'SEND'/>";
echo "</form>";
?>

第三个文件process.php包含

<?php

$name = array();
$version = array();
$type= array();

$name = $_POST['name'];
$version = $_POST['version'];
$type= $_POST['type'];

for($counter = 0; $counter < sizeof($name); $counter++)
{
echo "service_name #".($counter + 1).": ".$name[$counter]."<br />";
echo "service_version #".($counter + 1).": ".$version[$counter]."<br />";
echo "service_type #".($counter + 1).": ".$type[$counter]."<br />";
}
?>

在我将值传递给它之后,它正确显示数据,如下所示

service_name #1:现在不行服务版本#1:v1service_type #1:私有(private)service_name #2: 类达尔服务版本#2:v2service_type #2:公共(public)

所以我的问题是:如何在“process.php”文件中创建一个函数以将所有这些值插入数据库。

我创建了一个名为“服务”的表,其中包含“名称、版本、类型”这些列

我会等待您的支持。谢谢

最佳答案

我建议将第一个提交的计数值保存在第二种表单的隐藏输入中,然后您将能够循环遍历并插入数据

<?php
echo "<form method = 'POST' action = 'process.php'>";
for($counter = 0; $counter < $_POST['counters']; $counter++)
{
echo "Service Name: <input type = 'text' name = 'name[]' class = 'class_name'/><br/>";
echo "Service Version : <input type = 'text' name = 'version[]' class = 'class_name'/><br/>";
echo "Service type : <input type = 'text' name = 'type[]' class = 'class_name'/><br/>";
}
echo '<input type="hidden" name="cntr" value="'.$_POST['counters'].'" />'
echo "<input type = 'submit' value = 'SEND'/>";
echo "</form>";
?>

现在在您的 process.php 中您将拥有:

if (!empty($_POST['cntr'])) {
$query = 'INSERT INTO services (name, version, type) VALUES ';
for ($x = 0; $x < $_POST['cntr']; $x++)
{
$query .= "('".mysqli_escape_string($_POST['name'][$x])."','"
.mysqli_escape_string($_POST['version'][$x])."','"
.mysqli_escape_string($_POST['type'][$x]).
"'),";
}
$query = substr_replace($query, '', -1);

mysqli->query($query);
}

我准备的只是一个示例,您可以根据您的更改进行修改

关于php - 将数组值从表单插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526198/

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