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

    Passare dati db per visualizzare mappa

    Ho bisogno di capire come fare a passare alcuni dati estratti da un database in una pagina che mi consenta di visualizzare una mappa.

    Mi spiego meglio.
    Estraggo da un database l'elenco di tutte le farmacie di turno in una pagina chiama "turni.asp".
    Per ognuna delle farmacie che visualizzo vorrei inserire un link che mi manda ad una pagina chiamata "mappa.asp" dove i dati relattivi a "Farmacia", Indirizzo", "Lat" e "Lon" relativi a queste mi consentono di visualizzarne la mappa.

    Per maggior chiarimento inserisco i codici di pagina

    == pagina "turni.asp" =============================

    <%
    Data=request.form("Data")
    Provincia=request.form("Provincia")
    Localita=request.form("Localita")
    Farmacia=request.form("Farmacia")
    Indirizzo=request.form("Indirizzo")
    Telefono=Request.form("Telefono")
    OrarioTurno=Request.form("OrarioTurno")
    Lat=Request.form("Lat")
    Lon=Request.form("Lon")
    %>


    <%
    sql="select * from Turni1sem2011 where Data = Data and Localita like '%"&Localita&"%' order by Localita ASC"
    %>

    <%
    set OBJdbConnection=Server.CreateObject("ADODB.Connect ion")
    OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("database/pharma.mdb")
    set rs=OBJdbConnection.Execute(sql)
    %>

    <%
    Do while not rs.EOF
    i=i+1
    %>

    <%
    if Date()=RS("Data") then
    %>


    <%response.write rs("Localita")%>

    <%response.write rs("Farmacia")%>

    <%response.write rs("Indirizzo")%>

    <%response.write rs("Telefono")%>

    Orario turno: <%response.write rs("OrarioTurno")%>



    <%
    end if
    RS.MoveNext
    Loop
    RS.Close
    OBJdbConnection.Close
    %>
    </table>

    ================================================== =========

    = pagina "mappa.asp" ==


    <%
    Localita=request.form("Localita")
    Farmacia=request.form("Farmacia")
    Indirizzo=request.form("Indirizzo")
    Lat=Request.form("Lat")
    Lon=Request.form("Lon")
    %>

    <%
    sql="select * from ASL-ElencoFarmacie where Farmacia = Farmacia and Lan = Lat and Lon = Lon"
    %>


    <%
    set OBJdbConnection=Server.CreateObject("ADODB.Connect ion")
    OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("database/pharma.mdb")
    set rs=OBJdbConnection.Execute(sql)
    %>


    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAOi_GHlTFHVhA ovtSD0fBTRTD4jnCYBjwJiLtijKTDdSk3VKB1RQoK_AWiyo7eQ GYZLILiCHsxpvvbA&sensor=false" type="text/javascript"></script>

    <script type="text/javascript">

    function initialize() {
    if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(<%response.write rs("Lat")%>, <%response.write rs("Lon")%>), 15);
    map.setUIToDefault();

    function createMarker(point, description) {
    var marker = new GMarker(point);
    GEvent.addListener(marker, "mouseover", function() {

    marker.openInfoWindowHtml(description)});
    return marker;}
    map.addOverlay(createMarker(new GLatLng(<%response.write rs("Lat")%>, <%response.write rs("Lon")%>), "<%response.write rs("Farmacia")%>"));

    gdir = new GDirections(map, document.getElementById("directions"));
    GEvent.addListener(gdir, "error", handleErrors);
    }
    }

    function setDirections(fromAddress) {
    locale="it";
    gdir.load("from: " + fromAddress + " to: <%response.write rs("Indirizzo")%>");
    }

    function handleErrors(){
    if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
    alert("Indirizzo non trovato - Provare ad inserire sia 'Indirizzo' che 'Comune' di partenza");

    else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
    alert("Si è verificato un errore nella geocodifica degli indirizzi");

    else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
    alert("Manca un parametro");

    else if (gdir.getStatus().code == G_GEO_BAD_KEY)
    alert("Errore nella Key Api.");

    else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
    alert("La richiesta non puo' essere correttamente risolta.");

    else alert("Si è verificato un errore");

    }
    </script>

    <div align="center">
    <table width="70%" border="0" cellspacing="0" cellpadding="2">
    <tr>
    <td align="center">


    <div id="map_canvas" style="width: 700px; height: 500px"></div>
    <div id="location">
    <form action="#" onsubmit="setDirections(this.partenza.value); return false">
    parti da:<input type="text" name="partenza"><input type="submit" value="Calcola">
    </form>

    </div>



    <div id="directions" style="width: 700px"></div>

    </td>
    </tr>

    </table>

    <%
    RS.Close
    OBJdbConnection.Close
    %>

    =======================

    La pagina "mappa.asp" funziona se inserisco i dati manualmente tutti i dati che sono necessari (farmacia, indirizzo, latitudine e longitudine) ma trovo assurdo dover realizzare 200 pagine (una per ogni farmacia) quando posso recuperare i dati dal DB.

    Qualcuno può aiutarmi?

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Inserisci la variabile asp nel punto in cui inseriresti i dati manualmente.

    Roby

  3. #3
    Le variabili sono già presenti nella pagina "mappa.asp".

    Quello che non so è come creare nella pagina "turni.asp" il link che mi fa passare questi dati.

    Ho provato con:
    >Scheda farmacia

    ma non funziona.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.