Php 如何从一个页面将条目插入到不同的表中?
我有4个表,分别名为Php 如何从一个页面将条目插入到不同的表中?,php,mysql,forms,Php,Mysql,Forms,我有4个表,分别名为车轮,轮胎,换油,其他维修 现在,我有一张订单给来检查汽车的人。我想把这4个选项都做成一个表格。因此,假设有人来取新车轮,但不是轮胎、换油和其他维修,他们会将其他字段留空。然后您可能会有一个场景,其中所有四个字段都已填充。那么如何从该表单将每个表单提交到各自的表中呢?该表单将提交到单个php脚本中。在php中,必须执行4个单独的查询才能将数据放入正确的表中。例如,如果您在php中有以下内容: $wheels = $_REQUEST['wheels']; $tires = $
车轮
,轮胎
,换油
,其他维修
现在,我有一张订单给来检查汽车的人。我想把这4个选项都做成一个表格。因此,假设有人来取新车轮,但不是轮胎、换油和其他维修,他们会将其他字段留空。然后您可能会有一个场景,其中所有四个字段都已填充。那么如何从该表单将每个表单提交到各自的表中呢?该表单将提交到单个php脚本中。在php中,必须执行4个单独的查询才能将数据放入正确的表中。例如,如果您在php中有以下内容:
$wheels = $_REQUEST['wheels'];
$tires = $_REQUEST['tires'];
$oil_ch = $_REQUEST['oil_change'];
$other = $_REQUEST['other_servicing'];
mysql_query("INSERT INTO wheels (wheels) VALUES $wheels");
mysql_query("INSERT INTO tires (tires) VALUES $tires");
mysql_query("INSERT INTO oil_change (oil_change) VALUES $oil_ch");
mysql_query("INSERT INTO other_servicing (other_servicing) VALUES $other");
当然,我不知道您的表的模式,但这只是一个如何将其拆分为4个查询的示例
但是,我建议您,与其为此设置4个表,不如只设置一个表,并将每个表都设置为列。可能还有其他细节我不知道,这将需要单独的表格,但与您提供的信息似乎会更简单 表单将提交到单个php脚本。在php中,必须执行4个单独的查询才能将数据放入正确的表中。例如,如果您在php中有以下内容:
$wheels = $_REQUEST['wheels'];
$tires = $_REQUEST['tires'];
$oil_ch = $_REQUEST['oil_change'];
$other = $_REQUEST['other_servicing'];
mysql_query("INSERT INTO wheels (wheels) VALUES $wheels");
mysql_query("INSERT INTO tires (tires) VALUES $tires");
mysql_query("INSERT INTO oil_change (oil_change) VALUES $oil_ch");
mysql_query("INSERT INTO other_servicing (other_servicing) VALUES $other");
当然,我不知道您的表的模式,但这只是一个如何将其拆分为4个查询的示例
但是,我建议您,与其为此设置4个表,不如只设置一个表,并将每个表都设置为列。可能还有其他细节我不知道,这将需要单独的表格,但与您提供的信息似乎会更简单 对于每个表单,您都会有如下内容:
if($_POST['wheels']){mysql_query("INSERT INTO wheel_table (column1) VALUES (" . 'mysql_real_escape_string($_POST['wheels']) . "')")
这将检查表单元素是否已设置或具有值,如果已设置或具有值,则会在相应的表中创建新行
如果表单元素的名称不是“wheels”,则将$\u POST['wheels']
更改为$\u POST['form\u element\u name']
,如果表的名称不是wheel\u table,则必须更改该名称,并与列名相同
所有这些都必须用包装,对于每种形式,您都会有这样的内容:
if($_POST['wheels']){mysql_query("INSERT INTO wheel_table (column1) VALUES (" . 'mysql_real_escape_string($_POST['wheels']) . "')")
这将检查表单元素是否已设置或具有值,如果已设置或具有值,则会在相应的表中创建新行
如果表单元素的名称不是“wheels”,则将$\u POST['wheels']
更改为$\u POST['form\u element\u name']
,如果表的名称不是wheel\u table,则必须更改该名称,并与列名相同
这一切都必须用一个来包装,这不应该出现任何问题。接收表单数据的PHP页面可以运行任意数量的查询。代码的框架如下所示:
if($_POST['wheels']) { //if they filled in the field for wheels...
mysql_query("insert into wheels...");
}
if($_POST['tires']) { //if they filled in the field for tires...
mysql_query("insert into tires...");
}
if($_POST['oil_change']) { //if they filled in the field for oil_change...
mysql_query("insert into oil_change...");
}
... etc
这不应该出现任何问题。接收表单数据的PHP页面可以运行任意数量的查询。代码的框架如下所示:
if($_POST['wheels']) { //if they filled in the field for wheels...
mysql_query("insert into wheels...");
}
if($_POST['tires']) { //if they filled in the field for tires...
mysql_query("insert into tires...");
}
if($_POST['oil_change']) { //if they filled in the field for oil_change...
mysql_query("insert into oil_change...");
}
... etc
在表单操作中,您将指定处理表单的php文件 在php脚本文件中,您将测试表单的哪些部分被使用并插入到相应的表中
为方便起见,尝试将每个表的测试和插入分开。在表单操作中,您将指定处理表单的php文件 在php脚本文件中,您将测试表单的哪些部分被使用并插入到相应的表中 试着将每个表的测试和插入分开,以便您更方便。这可能很有用
if(isset($_POST['submit'])) // assuming you have submit button with name 'submit'
{
$fields['wheels'] = isset($_POST['wheels']) ? $_POST['wheels'] : null;
$fields['tires'] = isset($_POST['tires']) ? $_POST['tires'] : null;
$fields['oil_change'] = isset($_POST['oil_change']) ? $_POST['oil_change'] : null;
$fields['other_servicing'] = isset($_POST['other_servicing']) ? $_POST['other_servicing'] : null;
$q="";
foreach($fieldsas $key=>$val)
{
if($val!==null)
{
$q="insert into ".$key." values('".mysql_real_escape_string($val)."')";
mysql_query($q);
}
}
if($q==="") echo " Please fill up at least one field !";
}
这正是核心思想,如果用户一次提交多个字段,您可以使用它执行多个查询,并且您可能需要添加其他值(即用户id)。这可能很有用
if(isset($_POST['submit'])) // assuming you have submit button with name 'submit'
{
$fields['wheels'] = isset($_POST['wheels']) ? $_POST['wheels'] : null;
$fields['tires'] = isset($_POST['tires']) ? $_POST['tires'] : null;
$fields['oil_change'] = isset($_POST['oil_change']) ? $_POST['oil_change'] : null;
$fields['other_servicing'] = isset($_POST['other_servicing']) ? $_POST['other_servicing'] : null;
$q="";
foreach($fieldsas $key=>$val)
{
if($val!==null)
{
$q="insert into ".$key." values('".mysql_real_escape_string($val)."')";
mysql_query($q);
}
}
if($q==="") echo " Please fill up at least one field !";
}
这正是核心思想,使用它,如果用户一次提交多个字段,您可以执行多个查询,并且您可能需要添加其他值(即用户id)。ok明白了!谢谢但是现在我如何添加一个片段,它将检查是否输入了某些内容?假设他们跳过了所有字段并点击submit,我想让它至少填写一些内容。可能最简单的方法就是添加另一个条件,检查
如果(!$\u POST['wheels']和!$\u POST['tires']和…
,并显示一条错误消息。明白了!谢谢但是现在我如何添加一个片段,它将检查是否输入了某些内容?假设他们跳过了所有字段并点击submit,我想让它至少填写一些内容。可能最简单的方法就是添加另一个条件,检查如果(!$\u POST['wheels']和!$\u POST['tires']和…
,并让它显示一条错误消息。