Php 如何从一个页面将条目插入到不同的表中?

Php 如何从一个页面将条目插入到不同的表中?,php,mysql,forms,Php,Mysql,Forms,我有4个表,分别名为车轮,轮胎,换油,其他维修 现在,我有一张订单给来检查汽车的人。我想把这4个选项都做成一个表格。因此,假设有人来取新车轮,但不是轮胎、换油和其他维修,他们会将其他字段留空。然后您可能会有一个场景,其中所有四个字段都已填充。那么如何从该表单将每个表单提交到各自的表中呢?该表单将提交到单个php脚本中。在php中,必须执行4个单独的查询才能将数据放入正确的表中。例如,如果您在php中有以下内容: $wheels = $_REQUEST['wheels']; $tires = $

我有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个表,不如只设置一个表,并将每个表都设置为列。可能还有其他细节我不知道,这将需要单独的表格,但与您提供的信息似乎会更简单

表单将提交到单个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']和…
,并让它显示一条错误消息。