mysql - Nasıl bir akin kayıtlarını seçmek?

2 Cevap php

Ben bir tablo var

name varchar
address varchar
country varchar
city varchar
.....

yerin adresini saklamak için

Örnek:

name|address|country
HaLong hotel|156 blahblah street|Vietnam
Hotel Ha Long|156 blah blah|Vietnam

Yukarıdaki iki satır yinelenen veridir.

Kullanıcı yeni bir konum teslim zaman, bir form var. Kod bir mesaj vermek için benzer kayıtları bulmak gerekir (örn:? Zaten db bu konumunu kullanmak ya da yeni oluştur)

Bu gibi benzer kayıt almak için bir sorgu yapmak nasıl?

2 Cevap

"156 blahblah sokak" ve "156 filan" bir sürü iş olmadan bir şey otomatikleştirmek için ortak yeterli yoksa, ve tek bir SQL sorgusu oluyor olmayacaktır.

Denemek için 3 seçenek:

1) Geocoding adresini aramak için Google Maps 'gibi bir şey kullanın, onlar "sokak" yazdığınızda insanlar "cadde" demek bulmaktan oldukça iyi ve Diğer yaygın hatalardan, bu yüzden çoğu yazım hataları önlenebilir. Ayrıca emin maçlar olmak için enlem / boylam verileri alabilirsiniz.

2) Adres metin alanlarında bir autocompleter kullanın. Birisi türleri "156 falan," kullanıcıların doğru bir seçim için daha çok olacak şekilde eşleşen her şeyin bir listesini getirecektir zaman.

3) vb soundex kullanarak kendi dil algoritmaları uygulanması, muhtemelen Geocoding kıyasla çok yavaş olacaktır. Ben bu seçeneği önleyeceğini - eğlenceli geliyor ama bu yol çok pratik bulunuyor.

Before inserting the data into database .you select rows from the table with current data's .If the select query returns number of rows, which is not grater than zero So, you can sure that , the information already exist, otherwise you can do the further thing.

.