Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Creare un form di ricerca avanzato

    Ciao a tutti, per un sito web che sto realizzando per imparare qualcosa di più vorrei realizzare un campo di ricerca "avanzato".

    Cerco di spiegarmi meglio. Sto utilizzando Wordpress 3.7.1 e tra gli altri il plugin Advance Custom Field.

    Ho creato diversi field (datapicker, campo per sito web, link facebook, tipo attività etc) tra cui uno (questo advancedcustomfields.com/resources/field-types/google-map/ ) per le mappe.

    Ho provato ad utilizzare questo plugin WP Custom Field Search ma è piuttosto sommario. Vorrei partire da zero e crearmi un campo di ricerca. Ho trovato una serie di articoli in merito quali
    codice:
    wordpress.stackexchange.com/questions/38361/advanced-search-form-with-filters-for-custom-taxonomies-and-custom-fields
    e questo
    codice:
    sixrevisions.com/wordpress/custom-fields-search/
    ma nessuno parla della possibilità di creare un campo "vicino a".

    Ossia conoscendo un dato indirizzo (inserito mediante google_maps) vorrei che l'utente possa fare una ricerca inserendo una via (es vicino a: piazza di spagna) e la ricerca mostri il risultato della ricerca che sia uguale a tutte le attività presenti in un raggio di 10 km da piazza di spagba. E' una cosa possibile e fattibile?

    Sapreste darmi un indicazione, un aiuto o anche una guida?

    Grazie a tutti e buona serata

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non ho mai usato questo plugin e non ne conosco il codice.
    Se puoi e sai mettere mano al codice e piu' che altro alle query necessarie posso passarti una query che cerca nel raggio di.... passando long e lat.
    Se trovo la guida che usai te la posto qui

  3. #3
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    codice:
    SELECT 
      *,
      (
        6378.10 * ACOS(
          COS(RADIANS(latpoint)) * COS(RADIANS(latparser)) * COS(
            RADIANS(longpoint) - RADIANS(longparser)
          ) + SIN(RADIANS(latpoint)) * SIN(RADIANS(latparser))
        )
      ) AS distance_in_km 
    FROM
      previsioni.comuni 
      JOIN 
        (SELECT 
          46.5341 AS latpoint,
          10.132753166584 AS longpoint) AS p 
    WHERE latparser BETWEEN latpoint - (50.0 / 111.045) 
      AND latpoint + (50.0 / 111.045) 
      AND longparser BETWEEN longpoint - (
        50.0 / (111.045 * COS(RADIANS(latpoint)))
      ) 
      AND longpoint + (
        50.0 / (111.045 * COS(RADIANS(latpoint)))
      ) 
      AND id_regione != 0 
    ORDER BY distance_in_km 
    LIMIT 10
    latparser e longparser sono i nomi dei campi che ho io a DB quindi dovranno essere i nomi della tua tabella e i valori li ho in questo formato 42.8831 (latparser)

    Dovrai modificare qualcosa sul filtro ricerca perchè presumo tu non abbia id_regione

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.