2013-06-03 8 views
5

मैंने कुछ खुदाई की है और मुझे एक समान प्रश्न नहीं मिल रहा है, मुझे 'ऑनलाइन फॉर्म' जैसे SurveyMonkey आदि में कुछ बड़े नामों का कुछ संदर्भ मिला है 'आंशिक बचत' के बारे में कोई जानकारी नहीं मिली है कि यह कैसे हासिल किया गया है।एक फॉर्म को सहेजना (और बाद में जारी रखना)

मेरे परिदृश्य: पर्चा वापस कार्यालय के कर्मचारियों के लिए है, ने कहा कि स्टाफ सदस्य कुछ के लिए एक फार्म को पूरा कर रहा है, वे एक क्षेत्र है जो वे पूरा करने के लिए, के बजाय उन्हें मजबूर क्रम में में कुछ जांच करने की ज़रूरत के पार चलो जाने और इसे अभी ढूंढने के लिए (दिन में बहुत देर हो चुकी जानकारी की तलाश शुरू करने में देर हो सकती है), मैं फॉर्म को वर्तमान स्थिति में सहेजने की क्षमता प्रदान करना चाहता हूं, और सलाहकार के पास बाद में इसे याद करने में सक्षम होना चाहिए जारी रखने के लिए जानकारी।

मैं फॉर्म बना सकता हूं, मैं पार्ट-सेव बटन बना सकता हूं, और PHP/MySQL के साथ बाद में इसे याद करने में सक्षम हूं, लेकिन एसक्यूएल परिप्रेक्ष्य से आंशिक बचत से निपटने का सबसे अच्छा तरीका क्या है?

उपयोगकर्ता हमेशा सिस्टम के साथ प्रमाणीकृत होगा, इसलिए उनकी जानकारी को सहेजना ताकि वे बाद में फिर से शुरू कर सकें।

मुझे this question मिला जो मुझे GarlicJS में देखता है, लेकिन मैं चाहता हूं कि कर्मचारी सदस्य एक साथ कई रूपों को सक्रिय कर सकें, ताकि वे पहले एक को पूरा करने के लिए मजबूर किए बिना एक नया फॉर्म शुरू कर सकें।

मैं इसे कैसे से निपटने के सकने वाली कुछ विचार ...

  • मैं मेज जो और आंशिक रूप से पूरा करने के लिए 0 पूरा के लिए 1 है में एक बूलियन ध्वज बना सकते हैं, लेकिन यह मेरी सभी फ़ील्ड का मतलब nullable होने की आवश्यकता है, क्या यह एक डिज़ाइन दोष है?
  • किसी अन्य तालिका में आंशिक रूप से पूर्ण फ़ॉर्म को सहेजें, फिर इसे पूरी तरह से सबमिट करने के बाद इसे मुख्य तालिका में जोड़ने के बाद इसे इस अस्थायी स्टोर से हटा दें।

तो मेरा सवाल यह है कि, सबसे अच्छा तरीका क्या है? किसी को भी ऐसा कुछ करने में कोई अनुभव था?

उत्तर

3

मेरी राय में ध्वज "पूरा" (सत्य/झूठा) वाला कॉलम सबसे अच्छा और सरल विचार है। तकनीकी दृष्टिकोण से शून्य मूल्यों के साथ कोई समस्या नहीं है। यह किसी भी तरह से बुरा नहीं है।

यदि कोई तर्क समस्या है, तो आप इस ध्वज को बदलने से पहले - NULL मानों को रोक सकते हैं। यह PHP (फॉर्म डेटा मान्य करने) या एसक्यूएल (ट्रिगर्स) द्वारा किया जा सकता है।

यह एक और टेबल होने से कहीं अधिक सरल है, क्योंकि आपको इसके लिए अच्छी प्रबंधन प्रणाली की आवश्यकता होगी ताकि आप सुनिश्चित कर सकें कि दोनों तालिकाओं में कुछ भी सामान्य नहीं है। एक टेबल के भीतर सबकुछ रखने से आप SELECT सभी रिकॉर्ड प्राप्त कर सकते हैं, सभी समाप्त हो गए हैं, सभी इस जादू JOIN और UNION सामान के बिना समाप्त नहीं हुए हैं।

+3

मैं सहमत हूं (+1), सिवाय इसके कि मैं विशेष रूप से PHP में डेटा बाधाओं को मान्य करने से सावधान रहूंगा। बहुत से ऐप्स में जानकारी लेने (या भविष्य में) के एक से अधिक तरीके हैं ताकि आप विभिन्न प्रकार के फ्रंट सिरों पर डुप्लिकेट बाधा तर्क समाप्त कर सकें। जब भी संभव हो मुझे लगता है कि सर्वर पर ऐसे तर्क डालना सबसे अच्छा है। –

+0

आपके इनपुट Voitcus के लिए धन्यवाद (आप भी @EdGibbs)। – naththedeveloper

+0

@EdGibbs हां, इसलिए मैंने MySQL ट्रिगर्स का उपयोग करने का उल्लेख किया।इस मामले में ("बैक ऑफिस स्टाफ") PHP या यहां तक ​​कि जावास्क्रिप्ट द्वारा फॉर्म मान्य करने के लिए शायद पर्याप्त होगा - लेकिन आम तौर पर आप पूरी तरह से सही हैं। – Voitcus

संबंधित मुद्दे

 संबंधित मुद्दे