我有4个名为wheels
,tires
,oil_change
,other_servicing
的表格。
现在,我有一张汽车检查人员的订单。我希望在表单中包含所有这四个选项。所以说有人来换新轮子但不是轮胎,换油和其他服务,他们会把其他领域留空。然后你可能会有一个场景,其中所有四个字段都被填满。那么如何从表格中提交各自的表格呢?
答案 0 :(得分:3)
表单将提交给单个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个表,只需要一个表,然后将每个表改为一列。可能还有其他细节我不知道哪些需要单独的表,但是你给出的信息似乎更简单。
答案 1 :(得分:2)
这不应该出现任何问题。接收表单数据的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
答案 2 :(得分:1)
对于每个表单,你会有这样的东西:
if($_POST['wheels']){mysql_query("INSERT INTO wheel_table (column1) VALUES (" . 'mysql_real_escape_string($_POST['wheels']) . "')")
检查表单元素是否已设置,或者是否有值,如果是,则在相应的表中创建一个新行。
如果表单元素的名称不是'wheels',则您将$_POST['wheels']
更改为$_POST['form_element_name']
,如果表的名称不是wheel_table,则必须更改该名称,并且列名。
这一切都必须包装在一个
答案 3 :(得分:1)
在表单操作中,您将指定将处理表单的php文件。
在php脚本文件中,您将测试表单的哪些部分被使用并插入相应的表中。
尝试将每个表的测试和插入分开,以方便您。
答案 4 :(得分:1)
这可能很有用
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 !";
}
这只是核心思想,如果用户一次提交多个字段,您可以执行多个查询,并且可能需要添加其他值(即user_id)。