2017-11-04 44 views
0

我試圖從我的數據庫中的表中獲取單個值。代碼如下。但是,當我運行它時,console.log表示它是NaN並且在檢查時代碼中​​沒有值。有什麼具體的我做錯了什麼或我可以改進?將單個mysql值存儲到javascript變量中

<script> 
 
     var pos_one_lat = parseFloat(
 
      <?php 
 
       $db = mysqli_connect('ip', 'user', 'pass (;)', 'table'); 
 
       $result = mysqli_query($db, 'SELECT `latitude` FROM geodesics WHERE `stamp`=1'); 
 
       $lat = mysqli_fetch_object($result); 
 
       echo "'$lat'"; 
 
       mysqli_close($db); 
 
      ?>); 
 
     console.log(pos_one_lat); 
 
    </script>

回答

0

$lat你得到一個對象

所以訪問價值,你必須做這樣的

echo $lat->latitude; 
+0

這仍然會產生NaN(輸出是'')。 stamp = 1時緯度的數據庫值爲-27.5551818。 – Brayden

+0

首先打印$ lat,像這樣... print_r($ lat);併發布您的答案 –

+0

,而不是使用echo使用print_r($ lat)?這打印1不是-27。雖然我們正在接近。 – Brayden

0

有沒有必要使用parseFloat。只需在PHP中回顯變量並將其用作Javascript變量的值即可。 PHP和Javascript中浮點數的語法是相同的。

而要訪問結果中的特定列,您需要使用$lat->latitude

<script> 
    var pos_one_lat = 
     <?php 
      $db = mysqli_connect('ip', 'user', 'pass (;)', 'table'); 
      $result = mysqli_query($db, 'SELECT `latitude` FROM geodesics WHERE `stamp`=1'); 
      $lat = mysqli_fetch_object($result); 
      echo $lat->latitude; 
      mysqli_close($db); 
     ?>; 
    console.log(pos_one_lat); 
</script> 
+0

當我使用谷歌地圖API的變量它必須是一個浮動 – Brayden

+0

爲什麼你認爲這不會是一個浮動當你這樣做?周圍沒有引號。 – Barmar

+0

預防措施我會說。我幾乎沒有使用PHP和MySQL的經驗,所以我只是確保我做的一切都正確。雖然這些方法迄今爲止都沒有工作,但不幸的是 – Brayden

相關問題