Ricerca guidata per nomi di città

Maures

Utente Attivo
25 Mar 2015
45
0
0
Buongiorno a tutti,
dovrei implementare una pagina in php per la ricerca e il successivo inserimento di una o più località all'interno di un database.
Ora, vorrei che questo inserimento fosse "a prova di scimmia" e volevo puntare soprattutto sulla ricerca.

Mi spiego meglio:
vorrei inserire un campo per l'inserimento del nome della città (o della località) che mostra dei suggerimenti man mano l'utente scrive il nome che sta cercando.
Non so se basare questi suggerimenti sui dati già presenti nel database, e in questo caso saprei già come fare, o se appoggiarmi a un database, se esiste, di tutte le città e località italiane.

Nel secondo caso eviterei di inserire controlli sul corretto inserimento del nome della città, oltre a reperire altre informazioni da inserire nel database, come la provincia per esempio.

Piccola chicca, ma superflua: mostrare una piccola mappa (google maps?) che mostra la città ricercata.

Qualche consiglio?

Grazie in anticipo a tutti.
 

Maures

Utente Attivo
25 Mar 2015
45
0
0
questo esempio è interessante, ma richiede avere delle tabelle già popolate con tutti i nomi, ma non è attualmente fattibile nel mio caso perché, per evitare troppi dati, vengono inserite di volta in volta solo le città che servono.

una cosa che potrebbe servirmi è simile a questo esempio

qui si cerca per indirizzo, ma funziona anche solo con il nome delle città.
se potessi inserire anche una compilazione automatica sarebbe proprio ciò che cerco.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
quello che avevo fatto io molto tempo fa (ma non so se googlemaps è cambiato) presupponeva che nel db delle località ci fosse anche la latitudine e la longitudine della stessa, ti schematizzo
in allegato il file zip di gmaps.js
PHP:
<!DOCTYPE HTML>
<html>
<head>
<!-- css ecc... -->
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="gmaps.js"></script>
</head>
<body>
<?php
//dati di connessione
//da un form selezioni la località, io avevo ricavato il suo id
$id=$_POST['id_localita'];
//per far prima uso le vecchie mysql
$query=mysql_query("SELECT lat, lon, nome FROM tabella WHERE id=$id");
$dati=mysql_fetch_array($query);
$latitudine=$dati['lat'];//espresse in gradi decimali es 45.3462 non ° min sec
$longitudine=$dati['lon'];
$nome=$dati['nome'];
?>
<script type="text/javascript">
	var map;
   $(document).ready(function(){
      map = new GMaps({
        div: '#map',
		lat: <?php echo $latitudine;?>,
		lng: <?php echo $longitudine;?>,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		zoom: 2
      });
      map.addMarker({
        lat: <?php echo $latitudine;?>,
        lng: <?php echo $longitudine;?>,
        title: '<?php echo $nome;?>',
      });
    });
</script>
      <div id="map"></div><!-- quia appare (dovrebbe) la mappa-->
</body>
</html>
provalo, non so se funziona ancora
 

Allegati

  • gmaps.zip
    6,7 KB · Visite: 334

Maures

Utente Attivo
25 Mar 2015
45
0
0
per la parte della mappa ho risolto, mi manca solo una ricerca "aiutata" per non inserire nomi errati delle località
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per impedire l'inserimento errato (a prova di stupido) il metodo migliore è quello che ti avevo proposto col link, cioè si formano delle <select> in cui l'utente deve solo selezionare la località, non scriverle, se poi hai bisogno solo della località, es. solo il comune, senza regioni e province il metodo si semplifica senza bisogno di js
altro metodo è forse l'autocompletamento, ma meno sicuro
comunque i vari metodi presuppongono che tu abbia gia le tabelle del db precompilate con le località (giuste) almeno quelle che ti servono
 

Maures

Utente Attivo
25 Mar 2015
45
0
0
ciao
per impedire l'inserimento errato (a prova di stupido) il metodo migliore è quello che ti avevo proposto col link, cioè si formano delle <select> in cui l'utente deve solo selezionare la località, non scriverle, se poi hai bisogno solo della località, es. solo il comune, senza regioni e province il metodo si semplifica senza bisogno di js
altro metodo è forse l'autocompletamento, ma meno sicuro
comunque i vari metodi presuppongono che tu abbia gia le tabelle del db precompilate con le località (giuste) almeno quelle che ti servono

quello che ho fatto ora è più o meno questo:

1) l'utente inserisce il nome della città che sta cercando
2) lo script gli restituisce una mappa di google con l'indicatore sulla città cercata (se esiste) con il marker con nome, provincia e cap
3) vengono compilati i relativi campi che, se confermati, vengono inseriti nel database (e lì farò un controllo sugli inserimenti doppi)

l'unica cosa che vorrei aggiungere è, come detto, l'inserimento guidato, ma non so se in google maps è presente un database di città a cui appoggiarsi. non posso creare altri db di località purtroppo.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non so se google ha già un db, ma dici che hai gia dei db (..non posso creare altri db di località purtroppo..) quindi qualcosa hai gia.
è da molto che non uso googlemaps quindi, come detto, non so se è cambiato qualcosa cioè cosa serva per visualizzare la mappa (nome o coordinate o altro)
se serve solo il nome della località basta che tu lo estragga dalla tabella che hai, se invece servono le coordinate probabilmente devi modificare le tabelle che hai aggiungendo dei campi e riempiendoli (aggiungendo i campi lat e long)
se ti sevono le coordinate (immagino che tu lo sappia) basta andare sulla mappa dove ti serve taso desto e sul menù contestuale selezioni "cosa c'è qui?" e ti saltano fuori le coordinate del punto cliccato
es. ho cliccato col dx su un punto di parma -> cosa c'è qui?
Vicolo Mauroner, 2A
43121 Parma PR
44.801028, 10.337698
dove i due numeri 44... e 10.. sono rispettivamente la lat e la long
certo se hai già tante località è una pizza, ma senza un po' di olio di gomito si ottiene poco
 

Maures

Utente Attivo
25 Mar 2015
45
0
0
ciao
non so se google ha già un db, ma dici che hai gia dei db (..non posso creare altri db di località purtroppo..) quindi qualcosa hai gia.
è da molto che non uso googlemaps quindi, come detto, non so se è cambiato qualcosa cioè cosa serva per visualizzare la mappa (nome o coordinate o altro)
se serve solo il nome della località basta che tu lo estragga dalla tabella che hai, se invece servono le coordinate probabilmente devi modificare le tabelle che hai aggiungendo dei campi e riempiendoli (aggiungendo i campi lat e long)
se ti sevono le coordinate (immagino che tu lo sappia) basta andare sulla mappa dove ti serve taso desto e sul menù contestuale selezioni "cosa c'è qui?" e ti saltano fuori le coordinate del punto cliccato
es. ho cliccato col dx su un punto di parma -> cosa c'è qui?

dove i due numeri 44... e 10.. sono rispettivamente la lat e la long
certo se hai già tante località è una pizza, ma senza un po' di olio di gomito si ottiene poco


la tabella delle città che ho viene popolata quando serve.

lo scopo dello script è far vedere all'utente che deve inserire nella tabella una città due cose: che la città esista e che venga inserita correttamente (nel caso non sia già presente) nella tabella.

per i controlli non ci sono problemi, ma per l'appunto mi servirebbe che, mentre l'utente scriva, compaiano già dei suggerimenti, un po' come succede su google maps quando inserisco un indirizzo o una località.

mi chiedevo se si potesse usare questa funzionalità. non è un problema se non fosse possibile, ma provo a informarmi e se trovo qualcosa mi autorispondo
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Ricerca Guidata Sicurezza e Virus 0
F access ricerca record con apostrofo. MS Access 0
C Ricerca Prodotti Woocommerce Javascript 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
G Menù a tendina di ricerca con query PHP 1
R Problema query con ricerca id numerico PHP 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
F Visualizzazione motore di ricerca SEO e Posizionamento 2
B Stringa sql per ricerca su più campi Database 1
F Funzione Glob - ricerca file contenente una parola PHP 1
P Ricerca campo data PHP 1
L titolo del sito nella pagina di ricerca di google SEO e Posizionamento 2
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
L Ricerca valore mysql e incremento PHP 73
E Problema motore di ricerca FULL_TEXT PHP 0
motleyrulez Ricerca filtro con Ajax PHP 1
Shyson [CSS] Posizionare casella di ricerca HTML e CSS 3
P Query di ricerca profonda MySQL 0
T Query per ricerca ritardo evento MS Access 7
B Campo ricerca domini HTML e CSS 4
V Ricerca volontari questionario tesi - Ricambio Offerte e Richieste di Lavoro e/o Collaborazione 0
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
D Ente di Formazione accreditato in Regione Lazio ricerca Front End Developer Offerte e Richieste di Lavoro e/o Collaborazione 3
N [WordPress] Ricerca tema WordPress 6
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
Federico.Marcelo Alla ricerca di scrittori post guest Offerte e Richieste di Lavoro e/o Collaborazione 0
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
O [PHP] Ricerca record tramite post PHP 7
GraceHawk [MS Access] Findfirst per ricerca record MS Access 1
T [PHP] Ricerca nel database PHP 2
A [Javascript] Mostrare un marker se è vicino al risultato di ricerca con google maps Javascript 3
V Semplice barra di ricerca con filtro categorie prodotti E-Commerce 0
A Ricerca con collegamento in altro sito web Discussioni Varie 0
C [PHP] Ricerca multipla, evitare if PHP 4
F [WordPress] Plugin Ricerca per e-commerce Woocommerce WordPress 1
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
D [ASP] Motore di ricerca interno su 2 tabelle Classic ASP 3
A [MySQL] Ricerca in PMA MySQL 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
P Google risultati di ricerca inappropriati SEO e Posizionamento 1
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
R [MySQL] ricerca per data... MySQL 10

Discussioni simili