Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 15:33 26.04.24 
Клубове/ Компютри и Интернет / Бази данни Пълен преглед*
Информация за клуба
Тема Zip Code Search
Автор $burov (начинаещ)
Публикувано26.05.03 18:33  



Хайде пак по старата тема.

База данни с потребители. Трябва да има търсене по няколко критерия, включително и USA Zip Code. С помощта на google стигнах до това

CREATE TABLE dealers (
Dealer_ID int(11) NOT NULL auto_increment,
Dealer_Name varchar(50) NOT NULL default '',
Dealer_Address varchar(50) default NULL,
Dealer_City varchar(35) default NULL,
Dealer_State char(2) default NULL,
Dealer_Zip varchar(5) default NULL,
PRIMARY KEY (Dealer_ID),
KEY Dealer_Zip (Dealer_Zip),
KEY Dealer_Name (Dealer_Name),
KEY Dealer_Address (Dealer_Address),
KEY Dealer_City (Dealer_City)
) TYPE=MyISAM;

CREATE TABLE zipcode (
ZIPCodeID int(9) NOT NULL auto_increment,
ZIPCode varchar(5) NOT NULL default '',
Latitude double(7,5) NOT NULL default '0.00000',
Longitude double(7,5) NOT NULL default '0.00000',
PRIMARY KEY (ZIPCodeID),
KEY ZIPCode (ZIPCode),
KEY Latitude (Latitude),
KEY Longitude (Longitude)
) TYPE=MyISAM;

в тази последната таблица има над 42 000 записа с необходимата информация

след малко "орязване" на ненужните неща, заявката има следния вид:

"SELECT dealers. * ,
( 3963 * acos( truncate(sin( zipcodesearch.latitude / 57.2958 ) * sin( zipcode.latitude / 57.2958 ) + cos( zipcodesearch.latitude / 57.2958 ) * cos( zipcode.latitude / 57.2958 ) * cos( zipcode.longitude / 57.2958 - zipcodesearch.longitude / 57.2958 ),8) ) ) AS Dealer_Distance FROM dealers, zipcode, zipcode AS zipcodesearch

WHERE

(zipcodesearch.ZIPCode = '$MyZip'

AND (dealers.Dealer_Zip = zipcode.ZIPCode)

AND (( 3963 * acos( truncate(sin( zipcodesearch.latitude / 57.2958 ) * sin( zipcode.latitude / 57.2958 ) + cos( zipcodesearch.latitude / 57.2958 ) * cos( zipcode.latitude / 57.2958 ) * cos( zipcode.longitude / 57.2958 - zipcodesearch.longitude / 57.2958 ),8) ) ) < '$MyRadius' ";

$MyZip - zip code на потребителя
$MyRadius - колко miles около $MyZip да обхване търсенето

Обаче не работи! Дори когато въвеждам данните 1:1 във формата за търсене спрямо вече въведените в таблицата за дистрибуторите, не връща никакъв резултат. Някой би ли погледнал кода и да каже какво не е на ред?



Цялата тема
ТемаАвторПубликувано
* Zip Code Search $burov   26.05.03 18:33
. * Re: Zip Code Search salle   26.05.03 20:40
. * Re: Zip Code Search $burov   26.05.03 20:44
. * Re: Zip Code Search salle   26.05.03 21:07
. * Re: 57.2958 s_dimi   27.05.03 05:08
. * Re: 57.2958 $burov   27.05.03 09:58
. * Re: 57.2958 salle   27.05.03 12:59
. * Re: 57.2958 mn_t   27.05.03 18:17
. * Re: Zip Code Search fiffy   27.05.03 21:27
. * Re: Zip Code Search tedor   19.09.05 20:44
. * Re: Zip Code Search fiffy   19.09.05 20:48
. * Благодаря на всички $burov   27.05.03 21:34
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.