在开始之前我需要一些建议。我的PHP技能只有3个月的历史,所以我一边学习。
我需要创建一个订单捕获屏幕,将信息捕获到数据库中。
订单最多可包含150行,所有这些都需要捕获。
我可以很容易地创建表单,但我想知道将这个写入数据库的最佳方法是什么。
在提交时,我可以使用post方法获取表单值,并使用以下命令将它们写入mysql:
INSERT INTO example
(example_id, name, value, other_value)
VALUES
(100, 'Name 1', 'Value 1', 'Other 1'),
(101, 'Name 2', 'Value 2', 'Other 2'),
(102, 'Name 3', 'Value 3', 'Other 3'),
(103, 'Name 4', 'Value 4', 'Other 4');
是否有更简洁的方法来执行此操作,还是需要重复150行的代码?
答案 0 :(得分:1)
从可用性的角度来看,您可能希望重新考虑表单的设计。如果用户填写了149行订单并意外点击后退按钮,他们将会有一个非常糟糕的一天。也许您应该考虑一次捕获一行,或者允许用户上传包含所有条目的文件(电子表格,CSV等)。
如果无法更改表单的设计,则需要在循环中处理这些行。循环看起来像这样:
for ( $i = 1; $i <=150; $i++ ) {
$name = $_POST['name' . $i];
$value = $_POST['value1' . $i];
// capture the rest of the field values
$query = "INSERT INTO (...) VALUES ($name, $value, ...)";
mysql_query($query);
}
或者,您可以将每个循环的结果附加到一个大查询中,并在捕获所有150行后运行它。
为简洁起见,我遗漏了一些您需要补充的细节: