उपयोगिता के दृष्टिकोण से, आप अपने फॉर्म के डिजाइन पर पुनर्विचार करना चाह सकते हैं। यदि उपयोगकर्ता ऑर्डर फॉर्म की 149 लाइनें भर देता है और गलती से बैक बटन दबा देता है, तो उनका दिन वास्तव में खराब होने वाला है। शायद आपको एक बार में एक लाइन कैप्चर करने पर विचार करना चाहिए, या उपयोगकर्ता को सभी प्रविष्टियों वाली फ़ाइल (स्प्रेडशीट, सीएसवी, आदि) अपलोड करने की अनुमति देनी चाहिए।
यदि आप प्रपत्र का डिज़ाइन नहीं बदल सकते हैं, तो आपको पंक्तियों को एक लूप में संसाधित करने की आवश्यकता होगी। लूप कुछ इस तरह दिख सकता है:
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 पंक्तियों को कैप्चर करने के बाद इसे चला सकते हैं।
संक्षिप्तता के लिए, मैंने कुछ विवरण छोड़े हैं जिन्हें आपको जोड़ने की आवश्यकता है:
- यह सुनिश्चित करने के लिए अपने इनपुट से बचें कि आपका उपयोगकर्ता आपके डेटाबेस को दूषित नहीं करता है
- अपने डेटाबेस के उपयोग को आसान बनाने के लिए PDO या mysql_* के अलावा कुछ और उपयोग करने पर विचार करें।
- यह सुनिश्चित करने के लिए जांचें कि यदि कोई पंक्ति खाली छोड़ दी जाती है तो आप खाली मानों को कैप्चर और सम्मिलित नहीं कर रहे हैं।