2008-09-01 9 views
17

मुझे डेटाबेस में डुप्लिकेट पते कैसे मिलेंगे, या फॉर्म भरने पर पहले से ही लोगों को बेहतर तरीके से रोकें? मुझे पहले बेहतर लगता है?डेटाबेस में डुप्लिकेट पते पाएं, उपयोगकर्ताओं को जल्दी में प्रवेश करने से रोकें?

क्या सड़क, डाक कोड इत्यादि का सारण करने का कोई अच्छा तरीका है ताकि टाइपिंग और 2 पंजीकरण प्राप्त करने के सरल प्रयासों का पता लगाया जा सके? जैसे:

Quellenstrasse 66/11 
Quellenstr. 66a-11 

मैं जर्मन पतों बात कर रहा हूँ ... धन्यवाद!

+0

मैं संयुक्त राज्य अमेरिका के पते –

+0

को संबोधित करने के लिए एक उत्तर की तलाश कर रहा हूं, मैंने एक ही समस्या को हल किया है, डिलीवरी एप्लिकेशन में, सामान्य गलत वर्तनी त्रुटियों के शब्दकोश का उपयोग करके, प्रत्येक पते को मानचित्र फ़ंक्शन के माध्यम से चेक किया जाता है जो कि सूची की तुलना करता है शब्दकोश में शब्द और हमारे डीबी में लिखने से पहले सुधार करता है। – datelligence

उत्तर

5

जोहानिस:

@PConroy: यह मेरा प्रारंभिक thougt भी था। इस पर दिलचस्प हिस्सा पते के विभिन्न हिस्सों के लिए अच्छे परिवर्तन नियमों को ढूंढना है! कोई अच्छा सुझाव?

जब हम परियोजना के इस प्रकार पर काम कर रहे थे से पहले, हमारे दृष्टिकोण, पते के बारे में हमारी मौजूदा कोष (150k या तो) लेने के लिए तो हमारे डोमेन (आयरलैंड के लिए सबसे आम परिवर्तनों को लागू करें, तो "डॉ था "->" ड्राइव "," आरडी "->" रोड ", आदि)। मुझे डर है कि उस समय ऐसी चीजों के लिए कोई व्यापक ऑनलाइन संसाधन नहीं था, इसलिए हम मूल रूप से एक सूची के साथ आते हैं, फोन बुक जैसी चीज़ों की जांच करते हैं (वहां अंतरिक्ष के लिए दबाए जाते हैं, पते को सभी तरीकों से संक्षेप में संक्षिप्त किया जाता है!)। जैसा कि मैंने पहले उल्लेख किया था, आप आश्चर्यचकित होंगे कि कितने "डुप्लीकेट" आप केवल कुछ सामान्य नियमों के अतिरिक्त पता लगाएंगे!

मैंने हाल ही में एक व्यापक पृष्ठ list of address abbreviations के साथ एक पृष्ठ पर ठोकर खाई है, हालांकि यह अमेरिकी अंग्रेजी है, इसलिए मुझे यकीन नहीं है कि यह जर्मनी में कितना उपयोगी होगा! एक त्वरित Google ने कुछ साइटों को बदल दिया, लेकिन वे स्पैमी न्यूजलेटर साइन-अप जाल की तरह लग रहे थे। कि हालांकि मुझे अंग्रेजी में googling है, तो आप

0

अक्सर डेटा-आधारित अर्थ में डेटा को "अद्वितीय" सुनिश्चित करने के लिए डेटाबेस में बाधाओं का उपयोग करते हैं।

"isomorphisms" के संबंध में मुझे लगता है कि आप स्वयं पर हैं, यानी स्वयं को कोड लिखना। यदि डेटाबेस में आप एक ट्रिगर का उपयोग कर सकते हैं।

6

इससे पहले कि आप लोगों को रोक सकें, जितना आसान होगा उतना आसान होगा!

  • "भाग" प्रत्येक पते के लिए अपने DB में अलग क्षेत्रों है, उदाहरण के लिए:

    अपने डाटाबेस स्कीमा या डेटा प्रविष्टि फार्म के साथ भी परिचित नहीं किया जा रहा है, मैं निम्नलिखित की तरह एक मार्ग कुछ सुझाव देंगे सड़क, शहर, डाक कोड, लैंडर, आदि

  • आपके डेटा एंट्री फॉर्म को इसी प्रकार टूट गया है, उदा। सड़क, शहर, आदि

ऊपर के पीछे तर्क है प्रत्येक भाग संभावना यह स्वयं के विशेष जाँच के लिए "नियम" थोड़ा-बदल को संबोधित किया, ("Quellenstrasse" है होगा कि - "। Quellenstr">, "66/11 "->" 66 ए -11 "ऊपर) तो आपका सत्यापन कोड यह जांच सकता है कि प्रत्येक फ़ील्ड के लिए प्रस्तुत मान उनके संबंधित डीबी क्षेत्र में मौजूद हैं या नहीं। यदि नहीं, तो आपके पास एक कक्षा हो सकती है जो प्रत्येक दिए गए फ़ील्ड के लिए रूपांतरण नियम लागू करती है (उदा। "स्ट्रैस" "str" ​​के लिए stemmed) और डुप्लीकेट के लिए फिर से जांचें।

जाहिर है उपरोक्त विधि यह कमियां है गया है:

  • यह अपने डेटा सेट के आधार पर, इंतज़ार कर उपयोगकर्ता छोड़ने धीमी हो सकती है,

  • उपयोगकर्ताओं पता लगाकर उसके चारों ओर पाने के लिए कोशिश कर सकते हैं " पार्ट्स "गलत क्षेत्रों में (शहर में पोस्ट कोड जोड़ना आदि)। लेकिन अनुभव से हमने पाया है कि उपरोक्त की तरह सरल जांच भी शुरू करने से उपयोगकर्ताओं के बड़े प्रतिशत को पूर्व-मौजूदा पते में प्रवेश करने से रोका जा सकता है।

एक बार जब आप जगह में बुनियादी जाँच के बाद, आप डाटाबेस के अनुकूलन पर देख सकते हैं की आवश्यकता पहुंचता है, तो नियमों को परिष्कृत करने, आदि अपने विशेष स्कीमा को पूरा करने के। आप इसी तरह के पाठ को काम करने के लिए MySQL's match() function पर भी एक नज़र डाल सकते हैं।

10

आप Google GeoCode API

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

+4

Google GeoCode API शर्तों पर शर्तें जो मानचित्र पर परिणामों को प्रदर्शित किए बिना API का उपयोग प्रतिबंधित है। Https://developers.google.com/maps/documentation/geocoding/index पर "उपयोग सीमाएं" देखें – Ryan

2

अपने डेटाबेस में डुप्लिकेट पते की खोज शुरू करने से पहले, आपको पहले यह सुनिश्चित करना चाहिए कि आप पते को मानक प्रारूप में संग्रहीत करते हैं। http://www.usps.com/ncsc/addressservices/certprograms/cass.htm

लेकिन अधिकांश अन्य देशों के लिए एक समान सेवा/मानक है:

अधिकांश देशों पतों स्वरूपण की एक मानक तरीका अमेरिका में यह USPS CASS प्रणाली है है। अधिक अंतरराष्ट्रीय प्रारूपों के लिए इस साइट को आजमाएं: http://bitboost.com/ref/international-address-formats.html

यह न केवल डुप्लिकेट ढूंढने में मदद करता है, बल्कि ग्राहकों को मेल करते समय आपको पैसे बचाता है (डाक सेवा मानक प्रारूप में कम होने पर डाक सेवा शुल्क कम होता है)।

आपके आवेदन के आधार पर, कुछ मामलों में आप "वैनिटी" पता रिकॉर्ड के साथ-साथ मानक पता रिकॉर्ड स्टोर करना चाहेंगे। यह आपके वीआईपी ग्राहकों को खुश रखता है। एक "घमंड" पता हो सकता है कुछ की तरह:

62 पश्चिम नब्बे पहली सड़क
अपार्टमेंट 4D
मैनहट्टन, न्यूयॉर्क, एनवाई 10001

मानक पता इस प्रकार दिखाई देंगे जबकि:

62 डब्ल्यू 91ST ST अपार्ट 4D
न्यूयॉर्क 10024-1414

2

एक बात आप पर Soundex खोज करता है, जो ग़लत वर्तनी और विपरीत के लिए काफी उपयोगी होते हैं कर रहे हैं देखने के लिए चाहते हो सकता है ctions।

हालांकि यह डेटाबेस में सत्यापन नहीं है, इसलिए यह हो सकता है कि आप जो खोज रहे हैं वह हो या न हो।

1

मेरे अपने प्रश्न का उत्तर को जोड़ने के लिए "जर्मन पते के संक्षिप्त रूपों" जर्मन :) में के साथ और अधिक लग रहे हो सकता है किया गया था:

यह ऐसा करने का एक अलग तरह से उपयोगकर्ताओं को पूछना है उनके मोबाइल फोन नंबर के लिए, सत्यापन के लिए उन्हें एक टेक्स्ट संदेश भेजें। यह अधिकांश लोगों को डुप्लिकेट पते से गड़बड़ कर देता है।

मैं व्यक्तिगत अनुभव से बात कर रहा हूं। (धन्यवाद pigsback!) उन्होंने मोबाइल फोन के माध्यम से पुष्टि की शुरुआत की। इससे मुझे 2 खाते हैं! :-)

2

एक और संभावित समाधान (मान लीजिए कि आपको वास्तव में विश्वसनीय पता डेटा की आवश्यकता है और आप केवल डुप्लिकेट खातों को रोकने के लिए पते का उपयोग नहीं कर रहे हैं) आपके द्वारा प्रदान किए गए पते को मानकीकृत करने के लिए किसी तृतीय-पक्ष वेब सेवा का उपयोग करना है उपयोगकर्ताओं।

यह इस तरह से काम करता है - आपका सिस्टम किसी ऑनलाइन फॉर्म के माध्यम से उपयोगकर्ता के पते को स्वीकार करता है। आपका फॉर्म उपयोगकर्ता के पते को तीसरे पक्ष के पते मानकीकरण वेब सेवा पर हाथ से हटा देता है। वेब सेवा आपको एक ही पता वापस देती है लेकिन अब अलग-अलग पता फ़ील्ड में मानकीकृत डेटा के साथ, और मानक संक्षेप और प्रारूपों के साथ लागू होती है। आपका एप्लिकेशन आपके डीबी में डेटा को सहेजने का प्रयास करने से पहले अपने उपयोगकर्ता को यह पुष्टि के लिए इस मानकीकृत पते को प्रदर्शित करता है।

यदि सभी उपयोगकर्ता पते मानकीकरण चरण के माध्यम से जाते हैं और केवल मानकीकृत पते आपके डीबी में सहेजे जाते हैं, तो डुप्लिकेट रिकॉर्ड ढूंढना बहुत सरल होना चाहिए क्योंकि अब आप सेब से सेब की तुलना कर रहे हैं।

ऐसी तीसरी पार्टी सेवा Global Address's Interactive Service है जिसमें जर्मनी समर्थित देशों की सूची में शामिल है, और एक ऑनलाइन डेमो भी है जो दर्शाता है कि उनकी सेवा कैसे काम करती है (डेमो लिंक उस वेब पेज पर पाया जा सकता है)।

स्पष्ट रूप से इस दृष्टिकोण के लिए लागत का नुकसान है। हालांकि, प्लस तरफ:

  1. आप बना सकते हैं और अपने स्वयं के पते के मानकीकरण मेटाडाटा
  2. आप लगातार अपने पते के मानकीकरण दिनचर्या को बढ़ाने के लिए की जरूरत नहीं होगी, और
  3. आप स्वतंत्र हैं बनाए रखने के लिए की जरूरत नहीं होगी जो आपकी आवश्यकताओं के लिए अद्वितीय हैं

अस्वीकरण आवेदन के कुछ हिस्सों पर अपना सॉफ्टवेयर विकास ऊर्जा ध्यान केंद्रित करने की: मैं वैश्विक पता लिए काम नहीं करते और अपनी सेवा का उपयोग प्रयास नहीं किया है। मैं केवल उन्हें एक उदाहरण के रूप में उल्लेख कर रहा हूं क्योंकि उनके पास एक ऑनलाइन डेमो है जिसे आप वास्तव में खेल सकते हैं।

1

मुझे एहसास है कि मूल पोस्ट जर्मन पते पर निर्दिष्ट है, लेकिन यह सामान्य रूप से पते के लिए एक अच्छा प्रश्न है।

संयुक्त राज्य अमेरिका में, डिलीवरी पॉइंट बारकोड नामक पते का एक हिस्सा है। यह एक अद्वितीय 12 अंकों वाला नंबर है जो डिलीवरी के एक बिंदु को पहचानता है और पते के अद्वितीय पहचानकर्ता के रूप में कार्य कर सकता है। इस मान को प्राप्त करने के लिए आप एक पता सत्यापन या पता मानकीकरण वेब सेवा एपीआई का उपयोग करना चाहेंगे, जिस पर आपके द्वारा किए गए अनुरोधों की मात्रा के आधार पर लगभग $ 20/mo खर्च हो सकता है।

पूर्ण प्रकटीकरण के हित में, मैं SmartyStreets के संस्थापक हूं। हम लाइवएड्रेस नामक ऐसे address validation web service API की पेशकश करते हैं। आपके पास किसी भी प्रश्न के साथ व्यक्तिगत रूप से मुझसे संपर्क करने के लिए आपका स्वागत है।

-1

मेरी राय में, यह सोचते हैं कि आप पहले से ही अपने DB में गंदा डेटा का एक बहुत था,

आप अपने "हस्तनिर्मित" गंदे फिल्टर जो जर्मन सूचकाक्षर की एक अधिकतम पता लगा सकता है का निर्माण करना है ...

लेकिन यदि आप बहुत सारे डेटा का इलाज करते हैं, तो आप कुछ झूठी-सकारात्मक और सही-नकारात्मक नमूना खोजने का जोखिम उठाएंगे ...

आखिर में अर्द्ध स्वचालित नौकरी (मानव सहायता के साथ मशीन जब झूठी सकारात्मक या वास्तविक-नकारात्मक के मामले की संभावना बहुत अधिक है) सबसे अच्छा समाधान होगा।

अधिक आप का इलाज "अपवाद" (क्योंकि मानव बढ़ाने अपवाद है जब डेटा भरने), और अधिक अपने "हस्तनिर्मित" फिल्टर अपने requierement फिट होगा।

दूसरी ओर, आप यह भी उपयोगकर्ता की ओर एक जर्मनी का पता सत्यापन सेवा का उपयोग कर सकते हैं, और केवल सत्यापित एक ...

0

मैं एक जवाब संयुक्त राज्य अमेरिका के समाधान के लिए देख रहा हूँ के पते की दुकान

सवाल में इस मुद्दे को

Quellenstrasse 66/11 और की तरह प्रवेश कर डुप्लिकेट से उपयोगकर्ताओं को रोकने के है

ऐसा तब होता है जब आप अपने उपयोगकर्ता को इनपुट बॉक्स में पूरा पता दर्ज करते हैं।

कुछ तरीकों आप इसे रोकने के लिए उपयोग कर सकते हैं कर रहे हैं।

1. वर्दी रेगुलर एक्सप्रेशन से

  • का उपयोग कर स्वरूपण आप एक समान स्वरूप में विवरण दर्ज करने का संकेत दे सकते हैं।
  • यह पूछताछ करते समय भी बहुत कुशल है
  • उपयोगकर्ता को कुछ नियमित अभिव्यक्तियों के विरुद्ध दर्ज मूल्य का परीक्षण करें और यदि विफल हो, तो उपयोगकर्ता को इसे सही करने के लिए कहें।

2. नक्शा एपीआई का उपयोग Google नक्शे की तरह करें और उपयोगकर्ता से इसके विवरण का चयन करने के लिए कहें।

  • यदि आप Google मानचित्र चुनते हैं, तो आप इसे रिवर्स जियोकोडिंग का उपयोग करके प्राप्त कर सकते हैं।

Google Developer's guide से,

अवधि जियोकोडिंग आम तौर पर एक नक्शे पर किसी स्थान में एक मानव पठनीय पते के अनुवाद को दर्शाता है। विपरीत कर, एक मानव पठनीय पते में नक्शे पर किसी स्थान का अनुवाद करने की प्रक्रिया, के रूप में रिवर्स जियोकोडिंग जाना जाता है।

3. प्रश्न में दिखाए गए विषम डेटा को अनुमति दें और इसे विभिन्न स्वरूपण के साथ तुलना करें।

  • प्रश्न में, ओपी विभिन्न प्रारूप में पते की अनुमति देता है।
  • ऐसे मामले में, आप इसे अलग अलग रूपों को बदल सकते हैं और एक समाधान प्राप्त करने के लिए डेटाबेस के साथ देख सकते हैं।
  • यह और अधिक समय लग सकता है और समय पूरी तरह से है परीक्षण के मामलों की संख्या पर निर्भर करता है।

4।पते को अलग-अलग हिस्सों में विभाजित करें और इसे डीबी में स्टोर करें और उपयोगकर्ता को ऐसा फॉर्म प्रदान करें।

  • यह डेटाबेस में स्ट्रीट, शहर, राज्य आदि को स्टोर करने के लिए विभिन्न फ़ील्ड प्रदान करता है।
  • शीर्ष डाउन प्रारूप में सड़क, शहर, राज्य इत्यादि दर्ज करने के लिए उपयोगकर्ता को विभिन्न इनपुट फ़ील्ड भी प्रदान करें।
  • जब उपयोगकर्ता स्थिति दर्ज करता है, तो उस स्थिति को केवल डुप्लिकेट ढूंढने के लिए क्वेरी को संकीर्ण करें।
  • जब उपयोगकर्ता शहर में प्रवेश करता है, तो उसे केवल उस शहर तक सीमित करें।
  • जब उपयोगकर्ता सड़क पर प्रवेश करता है, तो उस सड़क पर इसे संकीर्ण करें।

और अंत में

  • जब उपयोगकर्ता, पता दर्ज विभिन्न स्वरूपों के लिए इसे बदल और डाटा बेस के खिलाफ यह परीक्षण करें।

यह भी परीक्षण के मामलों की संख्या अधिक है, आप के खिलाफ परीक्षण प्रविष्टियों की संख्या बहुत कम हो जाएगा और इसलिए यह समय की बहुत कम राशि का उपभोग करेंगे कर सकते हैं कुशल है।

1

मशीन सीखने और ऐ स्ट्रिंग समानता और डुप्लिकेट उपायों को खोजने के लिए एल्गोरिदम है।

रिकॉर्ड लिंक या समकक्ष रिकॉर्ड मिलान करने का कार्य जो वाक्य रचनात्मक रूप से भिन्न होता है- पहली बार 1 9 50 के दशक के और 1 9 60 के दशक में खोजा गया था।

आप सुविधाओं के वेक्टर का उपयोग करके रिकॉर्ड्स की प्रत्येक जोड़ी का प्रतिनिधित्व कर सकते हैं जो अलग-अलग रिकॉर्ड फ़ील्ड के बीच समानता का वर्णन करते हैं।

उदाहरण के लिए, सीखने योग्य स्ट्रिंग समानता उपाय का उपयोग कर अनुकूली डुप्लिकेट डिटेक्शन। उदाहरण के लिए, read this doc

  1. आप संभावित डुप्लीकेट की समानता के आकलन के लिए सामान्य या मैन्युअल रूप से देखते दूरी मीट्रिक का उपयोग कर सकते हैं।

  2. आप अनुकूली नाम मिलान करने वाले एल्गोरिदम का उपयोग कर सकते हैं, जैसे जारो मेट्रिक, जो दो तारों के बीच सामान्य वर्णों की संख्या और क्रम पर आधारित है।

  3. टोकन-आधारित और हाइब्रिड दूरी। ऐसे मामलों में, हम स्ट्रिंग्स एस और टी को टोकन मल्टीसेट्स (जहां प्रत्येक टोकन एक शब्द है) को परिवर्तित कर सकते हैं और इन मल्टीसेट पर समानता मेट्रिक्स पर विचार कर सकते हैं।

0

संयुक्त राज्य अमेरिका में, आप यूएसपीएस Address Standardization Web Tool का उपयोग कर सकते हैं। यह आपके लिए पते को सत्यापित और सामान्य करता है। इस तरह, आप यह जांचने से पहले पते को सामान्य कर सकते हैं कि यह डेटाबेस में पहले से मौजूद है या नहीं। यदि डेटाबेस में सभी पते पहले से ही सामान्यीकृत हैं, तो आप आसानी से डुप्लिकेट स्पॉट करने में सक्षम होंगे।

नमूना URL:

https://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=insert_request_XML_here

नमूना अनुरोध:

<AddressValidateRequest USERID="XXXXX"> 
    <IncludeOptionalElements>true</IncludeOptionalElements> 
    <ReturnCarrierRoute>true</ReturnCarrierRoute> 
    <Address ID="0"> 
    <FirmName /> 
    <Address1 /> 
    <Address2>205 bagwell ave</Address2> 
    <City>nutter fort</City> 
    <State>wv</State> 
    <Zip5></Zip5> 
    <Zip4></Zip4> 
    </Address>  
</AddressValidateRequest> 

नमूना प्रतिक्रिया:

<AddressValidateResponse> 
    <Address ID="0"> 
    <Address2>205 BAGWELL AVE</Address2> 
    <City>NUTTER FORT</City> 
    <State>WV</State> 
    <Zip5>26301</Zip5> 
    <Zip4>4322</Zip4> 
    <DeliveryPoint>05</DeliveryPoint> 
    <CarrierRoute>C025</CarrierRoute> 
    </Address> 
</AddressValidateResponse> 

अन्य देशों को अपने स्वयं के एपीआई हो सकता है। अन्य लोगों ने तीसरे पक्ष के एपीआई का उल्लेख किया जो कई देशों का समर्थन करते हैं जो कुछ मामलों में उपयोगी हो सकते हैं।

0

गूगल लाने के रूप में खोज आप डेटाबेस पता फ़ील्ड

सबसे पहले खोज कर सकते हैं के लिए suggesions, (एल) फ़ाइल के एक index.htm बना सकते हैं:

<!DOCTYPE html> 
    <html lang="en"> 

    <head> 
     <meta http-equiv="Content-Language" content="en-us"> 
     <title>Address Autocomplete</title> 
     <meta charset="utf-8"> 
     <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"> 
     <script src="//code.jquery.com/jquery-2.1.4.min.js"></script> 
     <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
     <script src="//netsh.pp.ua/upwork-demo/1/js/typeahead.js"></script> 
     <style> 
      h1 { 
       font-size: 20px; 
       color: #111; 
      } 

      .content { 
       width: 80%; 
       margin: 0 auto; 
       margin-top: 50px; 
      } 

      .tt-hint, 
      .city { 
       border: 2px solid #CCCCCC; 
       border-radius: 8px 8px 8px 8px; 
       font-size: 24px; 
       height: 45px; 
       line-height: 30px; 
       outline: medium none; 
       padding: 8px 12px; 
       width: 400px; 
      } 

      .tt-dropdown-menu { 
       width: 400px; 
       margin-top: 5px; 
       padding: 8px 12px; 
       background-color: #fff; 
       border: 1px solid #ccc; 
       border: 1px solid rgba(0, 0, 0, 0.2); 
       border-radius: 8px 8px 8px 8px; 
       font-size: 18px; 
       color: #111; 
       background-color: #F1F1F1; 
      } 
     </style> 
     <script> 
      $(document).ready(function() { 

       $('input.city').typeahead({ 
        name: 'city', 
        remote: 'city.php?query=%QUERY' 

       }); 

      }) 
     </script> 

    <script> 
      function register_address() 
      { 
       $.ajax({ 
        type: "POST", 
        data: { 
         City: $('#city').val(), 
        }, 
        url: "addressexists.php", 
        success: function(data) 
        { 
         if(data === 'ADDRESS_EXISTS') 
         { 
          $('#address') 
           .css('color', 'red') 
           .html("This address already exists!"); 
         } 

        } 
       })    
      } 
     </script> 
    </head> 

    <body> 
     <div class="content"> 

      <form> 
       <h1>Try it yourself</h1> 
       <input type="text" name="city" size="30" id="city" class="city" placeholder="Please Enter City or ZIP code"> 
<span id="address"></span> 
      </form> 
     </div> 
    </body> 
</html> 

अब हम एक city.php फ़ाइल पैदा करेगा जो हमारी क्वेरी को MySQL डीबी में एकत्रित करेगा और JSON के रूप में प्रतिक्रिया देगा।

<?php 

//CREDENTIALS FOR DB 
define ('DBSERVER', 'localhost'); 
define ('DBUSER', 'user'); 
define ('DBPASS','password'); 
define ('DBNAME','dbname'); 

//LET'S INITIATE CONNECT TO DB 
$connection = mysqli_connect(DBSERVER, DBUSER, DBPASS,"DBNAME") or die("Can't connect to server. Please check credentials and try again"); 


//CREATE QUERY TO DB AND PUT RECEIVED DATA INTO ASSOCIATIVE ARRAY 
if (isset($_REQUEST['query'])) { 
    $query = $_REQUEST['query']; 
    $sql = mysqli_query ($connection ,"SELECT zip, city FROM zips WHERE city LIKE '%{$query}%' OR zip LIKE '%{$query}%'"); 
    $array = array(); 
    while ($row = mysqli_fetch_array($sql,MYSQLI_NUM)) { 
     $array[] = array (
      'label' => $row['city'].', '.$row['zip'], 
      'value' => $row['city'], 
     ); 
    } 
    //RETURN JSON ARRAY 
    echo json_encode ($array); 
} 

?> 

और फिर उन्हें डेटाबेस में बचत तालिका स्तंभ

में और अपने addressexists.php कोड के लिए पाया डुप्लिकेट यदि रोकने: पतों पर

<?php//CREDENTIALS FOR DB 
    define ('DBSERVER', 'localhost'); 
    define ('DBUSER', 'user'); 
    define ('DBPASS','password'); 
    define ('DBNAME','dbname'); 

    //LET'S INITIATE CONNECT TO DB 
    $connection = mysqli_connect(DBSERVER, DBUSER, DBPASS,"DBNAME") or die("Can't connect to server. Please check credentials and try again"); 


    $city= mysqli_real_escape_string($_POST['city']); // $_POST is an array (not a function) 
    // mysqli_real_escape_string is to prevent sql injection 

    $sql = "SELECT username FROM ".TABLENAME." WHERE city='".$city."'"; // City must enclosed in two quotations 

    $query = mysqli_query($connection,$sql); 

    if(mysqli_num_rows($query) != 0) 

    { 
     echo('ADDRESS_EXISTS'); 
    } 
?> 
0

मैच पता द्वारा प्रदान की यहाँ कोड है डुप्लिकेट का पता लगाने के लिए डीईटी बंडेस्ट पोस्ट करें।

डीईटी शायद संयुक्त राज्य अमेरिका की तरह एक सीडी बेचता है। समस्या तब बंडस्पोस्ट पते से मेल खाती है। पद अनुमोदित संक्षेपों और इस तरह के संक्षेपों को बदलने की बस एक लंबी प्रक्रिया।

संयुक्त राज्य अमेरिका में वही तरीका। यूएसपोस्ट ऑफिस पते से मेल करें (क्षमा करें इन लागतों के पैसे, इसलिए पूरी तरह से खुली सीडी यूएस पोस्ट ऑफिस से उपलब्ध नहीं हैं) डुप्लिकेट ढूंढने के लिए।

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