Từ quan điểm về tính khả dụng, bạn có thể muốn xem xét lại thiết kế biểu mẫu của mình. Nếu người dùng điền vào 149 dòng của mẫu đơn đặt hàng và vô tình nhấn vào nút quay lại, họ sẽ có một ngày thực sự tồi tệ. Có lẽ bạn nên cân nhắc ghi lại một dòng duy nhất tại một thời điểm hoặc cho phép người dùng tải lên một tệp (bảng tính, CSV, v.v.) có chứa tất cả các mục nhập.
Nếu bạn không thể thay đổi thiết kế của biểu mẫu, bạn sẽ cần phải xử lý các dòng trong một vòng lặp. Vòng lặp có thể trông giống như sau:
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);
}
Ngoài ra, bạn có thể nối kết quả của mỗi vòng lặp vào một truy vấn lớn và chạy nó sau khi thu được tất cả 150 hàng.
Để ngắn gọn, tôi đã bỏ qua một vài chi tiết mà bạn cần bổ sung:
- Thoát khỏi đầu vào của bạn để đảm bảo người dùng không làm hỏng cơ sở dữ liệu của bạn
- Cân nhắc sử dụng PDO hoặc thứ gì đó khác ngoài mysql_ * để giúp việc sử dụng cơ sở dữ liệu của bạn dễ dàng hơn.
- Kiểm tra để đảm bảo rằng bạn không nắm bắt và chèn các giá trị trống nếu để trống một hàng.