मेरे पास एक ऐसा फॉर्म है जहां उपयोगकर्ता डेटा की पंक्तियों की असंबद्ध संख्या दर्ज करते हैं। वे स्क्रीन पर जो भी पंक्तियां चाहते हैं, उन्हें दर्ज करके फ़ॉर्म पर पहुंचते हैं।PHP में सरणी इनपुट के लिए गारंटी की गई पोस्ट में INPUTS का ऑर्डर है?
<?php
$numRows = $_GET['NUM_ROWS_REQUESTED'];
?>
<form method="post">
<?php
for($i = 0; $i < $numRows ;$i++) {
$uuid = uniqid();
?>
<input type="text" name="MYDATA[<?php print $uuid; ?>][FIRST_NAME]" />
<input type="text" name="MYDATA[<?php print $uuid; ?>][LAST_NAME]" />
<?php
}
?>
</form>
मैं सोच रहा हूँ अगर, जब प्रपत्र पोस्ट किया जाता है और मैं $_POST['MYDATA']
सरणी में इन रिकॉर्ड प्राप्त मैं गारंटी दी जा सकती है, तो यह है कि वे उसी क्रम में आदेश दिया जा होगा के रूप में वे स्क्रीन पर नियुक्त किया गया। या उन्हें uniqid()
द्वारा क्रमशः जेनरेट किया जाएगा?
कारण मैं केवल पूर्णांक की बजाय एक अद्वितीय आईडी का उपयोग करता हूं जो अनुक्रमित करना आसान होगा, यह है कि उपयोगकर्ता पंक्तियों को हटा सकते हैं और उस पृष्ठ पर जावास्क्रिप्ट का उपयोग करके अतिरिक्त पंक्तियां जोड़ सकते हैं। टकराव की जांच करना बहुत मुश्किल होगा।
यदि आप सुनिश्चित नहीं हैं। हल करे। – DampeS8N
@ DampeS8N मुझे वास्तव में सॉर्ट करने के लिए कुछ भी नहीं है। जब वे प्रवेश करते हैं तो स्क्रीन पर इनपुट का क्रम वांछित क्रम होता है। सिस्टम तिथि को पुनर्प्राप्त करने के लिए AJAX किए बिना, यह विश्वसनीय नहीं होगा क्योंकि जावास्क्रिप्ट अपने पीसी की तारीख का उपयोग करता है। मैं उम्मीद कर रहा था कि नई पंक्तियां बनाते समय मैं जावास्क्रिप्ट में मौजूदा पंक्तियों का विश्लेषण करने से बच सकता हूं। –
आप 'MYDATA [ Php print $ uuid के साथ एक छिपी हुई इनपुट जोड़ सकते हैं; ?>] [SORT_ORDER] 'नाम के रूप में और काउंटर के रूप में काउंटर। आप $ uuid के रूप में काउंटर का उपयोग भी कर सकते हैं। यदि आपको अभी भी यूयूआईडी की आवश्यकता है तो आप सर्वर को उत्पन्न कर सकते हैं या मेरे पहले उदाहरण के विपरीत उपयोग कर सकते हैं: 'MYDATA [ Php print $ counter; के साथ एक छिपी हुई इनपुट; ?>] [यूयूआईडी] 'नाम के रूप में और मूल्य के रूप में $ uuid। – ontrack