Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1

    Filtrare la ricerca dal database

    Salve ragazzi, avrei bisogno del vostro aiuto.
    Ho creato una pagina in php dove prendo dei dati e delle cordinate da un database mysql e visualizzo tutti i punti su una mappa di google... ecco la pagina!

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>XXXXXXXXXXXX</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=XXXXXXXXXXXXXX" type="text/javascript"></script>    
    <script type="text/javascript">


    // Crea il marker con la label passata come parametro
    function createMarker(point, label) 
    {
        // Variabile marker
        var marker = new GMarker(point);
          
        // Crea listener per il click sull'oggetto
        GEvent.addListener(marker, "click", function() 
        {
            marker.openInfoWindowHtml(label);
          });
      
          return marker;
    }

        function load() 
        {
            if (GBrowserIsCompatible()) 
              {
                // Crea mappa
                map = new GMap2(document.getElementById("map"));
                
                // Creo GeoCoder Max 1.6 query/sec
                geocoder = new GClientGeocoder();
            
                // Imposta centro mappa
                map.setCenter(new GLatLng(40.94572,17.28757), 13);
                
                // Visualizza controlli - TIPO MAPPA
                map.addControl(new GMapTypeControl());
                
                // Visualizza controlli - ZOOM GRANDE
                map.addControl(new GLargeMapControl());

                var point;


              }
    <?php

        
    // Stampa JS dopo aver effettuato query
        
    $connection mysql_connect("XXXXXXX","XXXXXX","XXXXXXXXXXX");
        
    mysql_select_db("XXXXXXXXXXX");
        
        
    $sql "SELECT DISTINCT * FROM punti2";
        
    $result mysql_query($sql,$connection) or die($sql" " mysql_error());
        
        
    // Stampa tutti i punti con pop-up indirizzo.
        
    while($row mysql_fetch_assoc($result))
        {
        echo 
    "point = new GLatLng({$row["LATITUDINE"]},{$row["LONGITUDINE"]});\n";
        echo 
    "map.addOverlay(createMarker(point, '".addslashes($row["DATA_ORA"])."'));\n";
        }

    ?>
        }

    //]]>
    </script>

      </head>
      

      <body onload="load()" onunload="GUnload()">

      <div id="map" style="width: 1024px; height: 768px" >

    </p>
    </body>
    </html>
    Ora, avrei bisogno, prima di visualizzare la mappa, di filtrare i dati per data, ora e ID dispositivo... e successivamente visualizzare la mappa con i valori scelti... come posso adattare il codice?

    il db è così composto

    ID DISPOSITIVO
    LONGITUDINE
    LATITUDINE
    DATA_ORA

    sono ai primi passi di php, per fare quella procedura di sopra c'ho messo na vita

    ps: sapete se c'è la possibilità con google maps di unire i punti con una linea? grazie

    grazie a chiunque mi darà una mano

  2. #2
    è difficile da fare?

  3. #3
    Help me... thanks

  4. #4
    ragazzi, nessuno puo gentilmente darmi una mano?

    lo so che insistere non è bello, ma almeno darmi un input per iniziarci a lavorare... grazie

  5. #5
    Filtrare i dati...ma da browser o impostandoglieli tu nella query?

    Cmq con Google Maps..credo nn si possano unire i punti..Ma toglimi una curiosità...ti si vede bene quella mappa anche su Explorer?

  6. #6
    Da browser con 4 menu a tendina dove è possibile scegliere:
    - numero del dispositivo (ID DISPOSITIVO)
    - la data
    - ora di inizio (dalle: )
    - ora di fine (alle: )

    Praticamente dovre leggere prima dal db i valori che mi devono apparire nel menu a tendina, e poi visualizzare soltanto il range dei valori scelti...
    Come posso integrare questa opzione nel codice sopra?

    per quanto riguarda il browser purtroppo su explorer non so perchè non funge, ma non mi interessa, utilizzo firefox!

  7. #7
    Bè il concetto è...

    Fai prima di tutto le 4 Query per estrapolarti i dati che ti servono da DB..quindi un GROUP BY per ogni campo che ti serve.

    Successivamente crei i 4 menù a tendina...che ricaricano in automatico la pagina...in cui poi dovrai aggiungere un controllo sulle 4 variabili globali.

    Esempio

    Se ($n_dispositivo!='')
    $where.="WHERE n_dispositivo='$n_dispositivo'";
    (da notare che la variabile $where prima di ogni assegnazione va controllata, se vuota si utilizzerà il WHERE, se piena si utilizzerà l'AND)

    Dopo tutti i controlli delle variabili basta "creare" la query con la variabile $where

    $sql = "SELECT DISTINCT * FROM punti2 $where";

  8. #8
    Samleo, grazie davvero per l'aiuto

    ma, da neofita, non c'ho capito na mazza

    potresti farmi un esempio pratico eseguibile, se non ti è di troppo disturbo? sono davvero alle prime armi... scusami

  9. #9
    Ci proviamo..

    Codice PHP:
    <?php
    $where
    ='';
    if(
    $_GET['id']!='')
    {
      
    $id=htmlspecialchars($_GET['id']);
      
    $where="WHERE id dispositivo='$id'";
    }
    ?>
    <form method='get'>
    <select name='id' onchange='this.form.submit()'>
    <option></option>
    <?php
    $res
    (mysql_query("SELECT id dispositivo as id FROM punti2 GROUP BY id dispositivo"));
    while(
    $d=mysql_fetch_object($res))
    {
      if(
    $id==$d->id)
        
    $sel="selected='selected'";
      else
        
    $sel='';
      echo 
    "<option $sel value='$d->id'>$id</option>";
    }
    ?>
    </select>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>XXXXXXXXXXXX</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script src="http://maps.google.com/maps?file=api&v=2&key=XXXXXXXXXXXXXX" type="text/javascript"></script>    
    <script type="text/javascript">


    // Crea il marker con la label passata come parametro
    function createMarker(point, label)
    {
        // Variabile marker
        var marker = new GMarker(point);
          
        // Crea listener per il click sull'oggetto
        GEvent.addListener(marker, "click", function()
        {
            marker.openInfoWindowHtml(label);
          });
      
          return marker;
    }

        function load()
        {
            if (GBrowserIsCompatible())
              {
                // Crea mappa
                map = new GMap2(document.getElementById("map"));
                
                // Creo GeoCoder Max 1.6 query/sec
                geocoder = new GClientGeocoder();
            
                // Imposta centro mappa
                map.setCenter(new GLatLng(40.94572,17.28757), 13);
                
                // Visualizza controlli - TIPO MAPPA
                map.addControl(new GMapTypeControl());
                
                // Visualizza controlli - ZOOM GRANDE
                map.addControl(new GLargeMapControl());

                var point;


              }
    <?php

        
    // Stampa JS dopo aver effettuato query
        
    $connection mysql_connect("XXXXXXX","XXXXXX","XXXXXXXXXXX");
        
    mysql_select_db("XXXXXXXXXXX");
        
        
    $sql "SELECT DISTINCT * FROM punti2 $where";
        
    $result mysql_query($sql,$connection) or die($sql" " mysql_error());
        
        
    // Stampa tutti i punti con pop-up indirizzo.
        
    while($row mysql_fetch_assoc($result))
        {
        echo 
    "point = new GLatLng({$row["LATITUDINE"]},{$row["LONGITUDINE"]});\n";
        echo 
    "map.addOverlay(createMarker(point, '".addslashes($row["DATA_ORA"])."'));\n";
        }

    ?>
        }

    //]]>
    </script>

      </head>
      

      <body onload="load()" onunload="GUnload()">

      <div id="map" style="width: 1024px; height: 768px" >

    </p>
    </body>
    </html>
    Prova così..ma nn l'ho provato quindi nn ti garantisco il funzionamento

  10. #10
    Non so perchè non funge... questo il codice della pagina con tutti i dati completi:
    la tabella si chiama "punti2", l'id della periferica è nella colonna ID_PERIFERICA... forse ho fatto qualche errore nel trascrivere i dati corretti


    Codice PHP:
    <?php

    $where
    ='';
    if(
    $_GET['id']!='')
    {
      
    $id=htmlspecialchars($_GET['id']);
      
    $where="WHERE ID_PERIFERICA='$id'";
    }
    ?>
    <form method='get'>
    <select name='id' onchange='this.form.submit()'>
    <option></option>
    <?php

    $res
    (mysql_query("SELECT ID_PERIFERICA as id FROM punti2 GROUP BY ID_PERIFERICA"));
    while(
    $d=mysql_fetch_object($res))
    {
      if(
    $id==$d->id)
        
    $sel="selected='selected'";
      else
        
    $sel='';
      echo 
    "<option $sel value='$d->id'>$id</option>";
    }
    ?>
    </select>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>XXXXXXXXXXXX</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAr-9N-3tliYhztnmoeCguLhRF2Y-lQvm8faCPkFGrn0ZUcO77cBQ8pPs_YZNx0vBL8VuTSBY5pW93mg" type="text/javascript"></script>    
    <script type="text/javascript">


    // Crea il marker con la label passata come parametro
    function createMarker(point, label)
    {
        // Variabile marker
        var marker = new GMarker(point);
          
        // Crea listener per il click sull'oggetto
        GEvent.addListener(marker, "click", function()
        {
            marker.openInfoWindowHtml(label);
          });
      
          return marker;
    }

        function load()
        {
            if (GBrowserIsCompatible())
              {
                // Crea mappa
                map = new GMap2(document.getElementById("map"));
                
                // Creo GeoCoder Max 1.6 query/sec
                geocoder = new GClientGeocoder();
            
                // Imposta centro mappa
                map.setCenter(new GLatLng(40.94572,17.28757), 13);
                
                // Visualizza controlli - TIPO MAPPA
                map.addControl(new GMapTypeControl());
                
                // Visualizza controlli - ZOOM GRANDE
                map.addControl(new GLargeMapControl());

                var point;


              }
    <?php

        
    // Stampa JS dopo aver effettuato query
    $connection mysql_connect("localhost","WA_005387","mauriziosecundo1985");
        
    mysql_select_db("secundoit420");
        
        
    $sql "SELECT DISTINCT * FROM punti2 $where";
        
    $result mysql_query($sql,$connection) or die($sql" " mysql_error());
        
        
    // Stampa tutti i punti con pop-up indirizzo.
        
    while($row mysql_fetch_assoc($result))
        {
        echo 
    "point = new GLatLng({$row["LATITUDINE"]},{$row["LONGITUDINE"]});\n";
        echo 
    "map.addOverlay(createMarker(point, '".addslashes($row["DATA_ORA"])."'));\n";
        }

    ?>
        }

    //]]>
    </script>

      </head>
      

      <body onload="load()" onunload="GUnload()">

      <div id="map" style="width: 1024px; height: 768px" >

    </p>
    </body>
    </html>

    questo il sito di prova http://www.secundo.it/gps/index222.php

    grazie

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.