Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Select e order particolare

    ciao a tutti

    ho questo codice:
    Codice PHP:
    if ordine "" then strSQL "SELECT "&_
    "* FROM hotel_es as h LEFT JOIN tipo_strutture as t ON "&_
    "h.id = t.hotel_id where (h.longitude < "&maxx&" and h.longitude > "&minx&" and h.latitude < "&maxy&" and h.latitude >"&miny&") and (t.hoteltype_id in (" struttura2 ") or t.hoteltype_id IS NULL) order by h.latitude desc,h.longitude" 
    ho 2 variabili
    lat_c2= 40,12121
    long_c2= 2,12121

    vorrei ordinare i record in base a h.latitude o h.longitude in ordine decrescente .. spiego meglio...

    ordinami i record dove h.latitude o h.longitude si avvicinano di più a lat_c2 (riferito a h.latitude) o a long_c2 (riferito a h.longitude) ... non so se sono stato chiaro ...

  2. #2
    ci facci un bel disegno, grassie

  3. #3
    Originariamente inviato da optime
    ci facci un bel disegno, grassie


    mhh non riesco a spiegarmi questa è la pagina http://www.iii.net/cerca.asp?lat=41....lona,%20Spagna (alposto di iii metti hotelspagna) alcuni link non vanno ecc. ma la sto sistemando .... la pagina viene mostrata dopo una ricerca di una città infatti se vedi passo delle variabili lat e long e nomedella città...

    come puoi vedere ogni hotel mostra i km questi km sono la distanza calcolata con una funzione tra lat e long passati in query string e lat e long dell'hotel io vorrei ordinarli in oridne di km dal più vicino al più lontano ..

    mi è venuto in mente una cosa che potrebbe fare al caso mio ... non ho mai fatto però ti vorrei chiedere è possibile inserire una funzione dentro ad una select:

    es:
    "SELECT "&_
    "* FROM hotel_es as h LEFT JOIN tipo_strutture ecc. order by funzione(calcolakm), asc

    ? :master:

  4. #4
    pensa a come si calcola la distanza, e avrai trovato la soluzione

  5. #5
    si stavo giusto provando
    solo che ho difficoltà ad inserire la funzione

    order by formatnumber (distance(cdbl(21.22), cdbl(2.22), cdbl("&lat_c2&"), cdbl("&long_c2&"), ""K""),1) asc"

    :master:

  6. #6
    mmmm così non si può.... cosa usi, access?

  7. #7
    si
    cmq formatnumber non è importante si può anche tralasciare...

    dovrei fare una cosa del genere

    order by distance(cdbl(h.latitude), cdbl(h.longitude), cdbl("&lat_c2&"), cdbl("&long_c2&"), ""K"") asc"

    si potrebbe tralasciare anche cdbl tanto i numeri che ho sono tipo 41,565656556 non superano mai il 50 :master:

  8. #8
    il fatto è che dentro access non puoi mettere una tua funzione

  9. #9

    sono stanco vado a casa ... domani mattina ci penso.. intanto grazie

  10. #10
    sto facendo delle prove ho ottenuto qualche risulato provando un po' a caso

    order by ( ("&lat_c&" - h.latitude) / ("&long_c&" - h.longitude) ) asc"

    la stampa dei record però non è ancora perfetta vorrei provare a tralasciare il valore - per quanto riguarda long_c e h.longitude ho provato con replace però per h.longitude non funziona

    order by ( ("&lat_c&" - h.latitude) / ( "&replace(long_c,"-","")&" - "&replace(h.longitude,"-","")&") ) asc"

    è possibile fare questo? :master:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.