Ankündigung

Einklappen
Keine Ankündigung bisher.

Google Map Marker speichern nach Überprüfung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Google Map Marker speichern nach Überprüfung

    Hi,

    dieser Ruf nach Hilfe klingt vielleicht sehr speziell, aber ich hoffe ihr könnt mir weiterhelfen.
    Vorab: Ich bin Einsteiger was php angeht und freue mich immer was neues zu lernen

    Also folgendes Problem:
    Ich habe das unten aufgeführte Scipt (zum Teil kopiert und dann etwas modifiziert) und möchte die Funktion etwas erweitern.

    Derzeit wird alles was in das Formular eingegeben wird ohne weiteres gespeichert und es soll folgerndermaßen geändert werden.

    Die Daten "type" und "type2" sollen vor dem speichern mit einer anderen Tabelle (nennen wir sie einfach "type_table") verglichen werden. Diese Tabelle enthält lediglich die Spalten "type" und "type2".
    Wenn die eingegeben Daten bei "type" und "type2" mit den Daten mit der Tabelle "type_table" übereinstimmen (beide Daten stehen irgendwo in "type_table" in der gleichen Zeile) soll das Formular in der Tabelle "markers" gespeichert werden.
    Beim speichern in der Tabelle "markers" sollen jedoch die Daten auf "type2" nicht gespeichert werden.

    Wenn die Daten nicht übereinstimmen soll unter der Karte nicht "Location added" sondern "type incorrect" erscheinen.

    Ich hoffe das war einigermaßen verständlich... :-/

    Kann mir da jemand helfen?

    phpsqlinfo_add.html
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    >
    <!--
     
    Copyright 2008 Google Inc
     
    Licensed under the Apache LicenseVersion 2.0
     
    http://www.apache.org/licenses/LICENSE-2.0 
     
    -->
    <
    html xmlns="http://www.w3.org/1999/xhtml">
      <
    head>
        <
    meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <
    title>>Title</title>
        <
    script src="http://maps.google.com/maps?file=api&v=2&key=XXXXXXXXXXXXXXXXXXXXXXXXXX"
                
    type="text/javascript"></script>

        <script type="text/javascript">
        var marker;
        function initialize() {
          if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            map.addControl(new GLargeMapControl());
            map.addControl(new GMapTypeControl());
            map.setCenter(new GLatLng(30.000000, 0.000000), 1);

            GEvent.addListener(map, "click", function(overlay, latlng) {
              if (latlng) {
                marker = new GMarker(latlng, {draggable:true});
                GEvent.addListener(marker, "click", function() {
                  var html = "<table>" +
                             "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
                             "<tr><td>Date:</td> <td><input type='text' id='date'/></td> </tr>" +
                             "<tr><td>9-digit Number:</td> <td><input type='text' id='type'/></td> </tr>" +
                             "<tr><td>3-digit Number:</td> <td><input type='text' id='type2'/></td> </tr>" +
                             "<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>";

                  marker.openInfoWindow(html);
                });
                map.addOverlay(marker);
              }
            });

          }
        }

        function saveData() {
          var name = escape(document.getElementById("name").value);
          var date = escape(document.getElementById("date").value);
          var type = escape(document.getElementById("type").value);
          var type2 = escape(document.getElementById("type2").value);
          var latlng = marker.getLatLng();
          var lat = latlng.lat();
          var lng = latlng.lng();

          var url = "phpsqlinfo_addrow.php?name=" + name + "&date=" + date +
                    "&type=" + type + "&type2=" + type2 + "&lat=" + lat + "&lng=" + lng;
          GDownloadUrl(url, function(data, responseCode) {
            if (responseCode == 200 && data.length <= 1) {
              marker.closeInfoWindow();
              document.getElementById("message").innerHTML = "Location added.";
            }
          });
        }
        </script>
      </head>

      <body onload="initialize()" onunload="GUnload()">
        <div id="map_canvas" style="width: 600px; height: 400px"></div>
        <div id="message"></div>
      </body>

    </html> 
    phpsqlinfo_addrow.php
    PHP-Code:
    <?php
    require("phpsqlinfo_dbinfo.php");

    // Gets data from URL parameters
    $name $_GET['name'];
    $date $_GET['date'];
    $lat $_GET['lat'];
    $lng $_GET['lng'];
    $type $_GET['type'];
    $type2 $_GET['type2'];

    // Opens a connection to a MySQL server
    $connection mysql_connect ("localhost"$username$password);
    if (!
    $connection) {
      die(
    'Not connected : ' mysql_error());
    }

    // Set the active MySQL database
    $db_selected mysql_select_db($database$connection);
    if (!
    $db_selected) {
      die (
    'Can\'t use db : ' mysql_error());
    }

    // Insert new row with user data
    $query sprintf("INSERT INTO markers " .
             
    " (id, name, date, lat, lng, type, type2 ) " .
             
    " VALUES (NULL, '%s', '%s', '%s', '%s', '%s', '%s');",
             
    mysql_real_escape_string($name),
             
    mysql_real_escape_string($date),
             
    mysql_real_escape_string($lat),
             
    mysql_real_escape_string($lng),
             
    mysql_real_escape_string($type),
             
    mysql_real_escape_string($type2));

    $result mysql_query($query);

    if (!
    $result) {
      die(
    'Invalid query: ' mysql_error());
    }

    ?>

  • #2
    Ich denk ich bin ein Stück weiter, aber es funzt immer noch nicht...
    Kann sich jemand bitte diese Aenderung anschauen und mir sagen ob der Ansatz richtig ist?
    Und wenn ja, warum klappts dann trotzdem noch nicht?
    Bin so langsam am verzeifeln

    phpsqlinfo_addrow.php
    PHP-Code:
    <?php
    require("phpsqlinfo_dbinfo.php");

    // Gets data from URL parameters
    $name $_GET['name'];
    $date $_GET['date'];
    $lat $_GET['lat'];
    $lng $_GET['lng'];
    $type $_GET['type'];
    $type2 $_GET['type2'];

    // Opens a connection to a MySQL server
    $connection mysql_connect ("localhost"$username$password);
    if (!
    $connection) {
      die(
    'Not connected : ' mysql_error());
    }

    // Set the active MySQL database
    $db_selected mysql_select_db($database$connection);
    if (!
    $db_selected) {
      die (
    'Can\'t use db : ' mysql_error());
    }

    // Insert new row with user data
    $query sprintf("INSERT INTO markers " .
             
    " (id, name, date, lat, lng, type, type2 ) " .
             
    " VALUES (NULL, '%s', '%s', '%s', '%s', '%s', '%s');",
             
    mysql_real_escape_string($name),
             
    mysql_real_escape_string($date),
             
    mysql_real_escape_string($lat),
             
    mysql_real_escape_string($lng),
             
    mysql_real_escape_string($type),
             
    mysql_real_escape_string($type2));

    $abfrage="Select * from type_table WHERE $type='type' AND $type2='type2' ";
    $result mysql_query($query);
    $num_rows mysql_num_rows($result);
    if(
    $num_rows>0)

    if (!
    $result) {
      die(
    'Invalid query: ' mysql_error());
    }

    ?>

    Kommentar

    Lädt...
    X