2015-11-19 68 views
0

你好,首先感謝你的幫助朋友。如何在對象上插入Mysql數據文本[對象HTMLCollection]

我想看看他們是否可以幫助我解決這個問題,我在我的數據庫中插入路線緯度和經度的谷歌地圖incluyendole一個名爲「路徑名」的變調投入文本輸入,都非常好插入緯度和經度,但當你插入路徑名字段inserccionen「[對象HTMLCollection]」 我在插入的「路徑名」我想要插入該輸入的文本或值。

下面是我的代碼,看看他們是否可以給我你會感謝

PHP代碼的index.php:

<?php 
     $lat = "18.472848374914534"; 
     $lng = "-69.92593261718753"; 
     $pos = $_POST ["pos"]; 
     $nombre_ruta = $_POST ["nombre_ruta"]; 
     echo " 
     <div id='info' name='info' class='info'>".$pos."</div> 
     <div id='seleccion_mapa'></div> 
     <input type='text' name='nombre_ruta' id='nombre_ruta' placeholder='ponga aqui, el nombre de la ruta' class='Txt_SELECCIONAR' /> 
     <input type='submit' id='enviar' name='enviar' value='CREAR RUTA' class='Txt_btn_submit2' value='CREAR RUTA'> 
     <br> 
     <div id='respuesta'></div>"; 
     ?> 

JS腳本阿賈克斯

<script> 
    $(document).ready(function(){ 
     lat = "<?php echo $lat; ?>" ; 
     lng = "<?php echo $lng; ?>" ; 
     var map; 
     function initialize() { 
     var myLatlng = new google.maps.LatLng(lat,lng); 
     var mapOptions = { 
      zoom: 7, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     map = new google.maps.Map(document.getElementById("seleccion_mapa"), mapOptions); 
     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      draggable:true, 
      animation: google.maps.Animation.DROP, 
      web:"Localización geográfica!", 
      icon: "../../../../assets/img/marker.png" 
     }); 
     google.maps.event.addListener(marker, 'dragend', function(event) { 
      var myLatLng = event.latLng; 
      lat = myLatLng.lat(); 
      lng = myLatLng.lng(); 
      nombre_ruta = myLatLng.nombre_ruta(); 
      document.getElementByTagId('info').innerHTML = [ 
      lat, 
      lng, 
      nombre_ruta 
      ].join(', '); 
     }); 
     marker.setMap(map); 
     } 

     google.maps.event.addDomListener(window, 'load', initialize); 
     $("#enviar").click(function() { 
     var url = "../../../controllers/cargar_mapa.php"; 
     $("#respuesta").html('<img src="../../../../assets/img/loading17.gif" />'); 
     $.ajax({ 
     type: "POST", 
     url: url, 
     data: 'lat=' + lat + '&lng=' + lng + '&nombre_ruta=' + nombre_ruta , 
     success: function(data) 
     { 
      $("#respuesta").html(data); 
     } 
     }); 
     }); 
    }); 
</script> 

和數據庫插入代碼

<?php 
error_reporting(E_ERROR | E_WARNING | E_PARSE); 
include('../../Connections/conexion_mapa_ruta.php'); 
    $lat=strip_tags(mysqli_real_escape_string($con,$_POST['lat'])); 
    $lng=strip_tags(mysqli_real_escape_string($con,$_POST['lng'])); 
    $nombre_ruta=$_POST['nombre_ruta']; 
    $pos=$lat.",".$lng; 
    mysqli_query($con,"INSERT INTO ruta_transporte (Lat, Lng, Pos, nombre_ruta) values ('$lat','$lng','$pos','$nombre_ruta')"); 
    echo "<b> Posición guardada: </b>".$nombre_ruta.",".$lat.", ".$lng; 
?> 

回答

0

當你建立你的POST數據的客戶端:

data: 'lat=' + lat + '&lng=' + lng + '&nombre_ruta=' + nombre_ruta 

nombre_ruta是一個對象。可能是從當我們設置在這裏?:

nombre_ruta = myLatLng.nombre_ruta(); 

我真的不知道是什麼方法返回時,您可能需要在瀏覽器中進行調試,找出。但重要的是,無論這個變量是什麼,它都是一個對象。而且因爲你想從它建立一個字符串對象的字符串表示正是看到:

[對象的HTMLCollection]

既然你正在構建鍵的字符串/值對,並且由於您的服務器端代碼需要處理一個字符串(通過將其插入到數據庫的文本列中),您需要確保在POSTing之前將您的變量設置爲簡單的字符串值值。

字符串值需要什麼,這取決於您。也許你擁有的物體上有一些屬性? (不知道這是多麼可能,我仍然不清楚Google Maps API爲什麼會在事件屬性上使用nombre_ruta()方法,或者爲什麼該方法會返回HTMLCollection對象。您的可能將不得不做一些更多的調試,可能會比問題中提出的更多)

+0

嗨,感謝大衛的澄清,目前,我試圖做的是獲取相同的插入,對我的數據庫,文本中的值通過郵件發送,例如nombre_ruta();它是一個文本字段,在其他列中插入名稱以及經緯度 –