Hier ist meine Abfrage in ModellAbfrage zur Entfernungsberechnung für Hotel Storelocator Arbeits
$array = array('dealercity' => $citycheck, 'lat' => $lat, 'lng' => $lng, 'sometype' => $sometypeid, 'type' => $typeid);
$this->db->select("*, (
3959 * acos (
cos (radians($lat))
* cos(radians(lat))
* cos(radians(lng) - radians($lng))
+ sin (radians($lat))
* sin(radians(lat))
)) AS distance");
$this->db->from('tbl_dealer_list');
$this->db->where($array);
$this->db->having('distance < 25');
$this->db->order_by('distance');
$this->db->limit(25, 0);
$query = $this->db->get();
Das Problem ist Abfrage keinen Fehler zeigt. Wenn ich einen bestimmten Ort suche, wird derselbe genaue Ort angezeigt. Die Orte in der Nähe in 20 Meilen funktioniert nicht. Ich benutze Codeigniter und Mysql. Jeder kennt die Antwort Bitte weisen Sie auf den Fehler hin.
Wenn ich die Abfrage die Entfernung berechnen berechnet zeigt, ist ein Wert wie 0,00005899369716644287. und ich bin mit Abstand überprüft mehr als dieser Wert immer noch nicht in der Nähe Orte und die Anzeige der Position, wenn ein Ort existiert mehr als einer in der Datenbank.
Können Sie einige Beispiele für die lat und lng aus Ihren Daten und die genauen Werte von $ Lng und $ Lat? – ptrk
Ohne CI active record, Just post die SQL nur –
großartig! @Abdulla Danke – Pointer