Problema visibile in http://www.ristomagic.com Provincia: udine perchè c'è qualche ristorante. Se Tua posizione -> Localizzami e poi ricerca per Voce di Menu vedi che l'ordine di distanza non c'è (se c'è è casuale). Vorrei metterlo, come è negli altri 2 tipi di ricerca.
Se un utente si fà localizzare, devo presentargli la lista dei ristoranti in ordine di distanza.
Faccio tre tipi di ricerca. I primi due non ho problemi, mentre con il terzo non ne esco.
fla_risto è la tabella con i dati del ristorante, che contiene lat e lng
menu tabella dei piatti di Menu. Campi: id, owner (che è l'id di fla_risto )
$latitude, $longitude sono deli'utente
lat lng sono i campi del ristorante
Attualmente ho messo:
grazie in anticipo
Se un utente si fà localizzare, devo presentargli la lista dei ristoranti in ordine di distanza.
Faccio tre tipi di ricerca. I primi due non ho problemi, mentre con il terzo non ne esco.
fla_risto è la tabella con i dati del ristorante, che contiene lat e lng
menu tabella dei piatti di Menu. Campi: id, owner (che è l'id di fla_risto )
$latitude, $longitude sono deli'utente
lat lng sono i campi del ristorante
Attualmente ho messo:
PHP:
$query_lat2 = " (((acos(sin((".$latitude."*$pigreco/180)) *
sin((`lat`*$pigreco/180))+cos((".$latitude."*$pigreco/180)) *
cos((`lat`*$pigreco/180)) * cos(((".$longitude."- `lng`)
*$pigreco/180))))*180/$pigreco)*60*1.1515*1.609344) ";
$query = "SELECT *, MATCH(des) AGAINST('$keyword*' IN BOOLEAN MODE) AS attinenza FROM menus ";
$query .= " WHERE MATCH(des) AGAINST('$keyword*' IN BOOLEAN MODE) ";
$query .= " AND owner IN (
SELECT id FROM fla_risto
WHERE ...
AND ...
if($calc_dist == true){
$query .= " AND ($query_lat2 <= $raggio_di_interesse )";
}
$query .= ")"; // chiude AND owner IN (
$query .= " ORDER BY menus.owner ASC, attinenza DESC ";
Ultima modifica di un moderatore: