Reply to this topicStart new topicStart Poll

> 以mysql php在Google map create marker
Squall-Lucifer
發表於: Nov 25 2009, 07:29  
Quote Post


鋼鐵之孤狼
*****

發表數: 297
所屬群組: 一般
註冊日期: 10-22-2007

活躍:4
聲望:20


請問我如何利用php和JavaScript拿出貯存在mysql database的X,Y坐標來在Google Map上create marker?我不善programming的說......

我和組員商議後覺得要用array貯起X,Y兩個坐標,但我們目前只是做到把table中所以X,Y都貯在array[0]當中,array不懂自動把不同row的record貯在array的不同格數中,請問如何解決之?

本篇文章已被 luciferng 於 Nov 25 2009, 07:38 編輯過


--------------------
PMEmail PosterUsers Website
Top
徐元直
發表於: Nov 25 2009, 07:55  評價+1
Quote Post


攤抖首領
************

發表數: 7,913
所屬群組: 君主
註冊日期: 9-18-2003

活躍:60
聲望:4176


1.取出座標
2.create marker

不就是兩步嗎?有多組座標就用loop好了,有何困難?


--------------------
......
PMEmail Poster
Top
Squall-Lucifer
發表於: Nov 25 2009, 08:06  
Quote Post


鋼鐵之孤狼
*****

發表數: 297
所屬群組: 一般
註冊日期: 10-22-2007

活躍:4
聲望:20


現在不知為何loop出來只會把X,Y兩個column中數十行row的X,Y放在array[0]中.....
code:
<per>
<?php
$link = mysql_connect("localhost", "username", "pw")
or die("can not cnnect DB:".mysql_error());
mysql_select_db("database_name") or die("can not choose");



function getPositionX()
{
$query_position_X = "select x from position";
$result = mysql_query($query_position_X) or die("cannot send query".mysql_error());
$X = mysql_fetch_array($result);

$testnum = 0;
while ($testnum>5){
$test[$testnum] = $X[0];
$testnum++;
}

print($test[0]);

}


function getPositionY()
{
$query_position_Y = "select y from position";
$result = mysql_query($query_position_Y) or die("cannot send query".mysql_error());
while ($Y = mysql_fetch_array($result)){
return $Y;
}
}
getPositionX();
?>
</per>
___________
請指出錯誤,謝謝。


--------------------
PMEmail PosterUsers Website
Top
高長恭
發表於: Nov 25 2009, 11:10  
Quote Post


∼('▽'*)
*********

發表數: 1,054
所屬群組: 太守
註冊日期: 9-18-2003

活躍:9
聲望:435


QUOTE (luciferng @ Nov 25 2009, 16:06 )

while ($testnum>5){
$test[$testnum] = $X[0];
$testnum++;
}

咁寫唔會loop死?
點解X同Y係分開get?


--------------------
user posted image
PMEmail PosterUsers WebsiteIntegrity Messenger IM
Top
Squall-Lucifer
發表於: Nov 25 2009, 11:27  
Quote Post


鋼鐵之孤狼
*****

發表數: 297
所屬群組: 一般
註冊日期: 10-22-2007

活躍:4
聲望:20


因為X,Y是兩個column,不過loop死的問題......這是我組員寫的,我不太明白死因,所以便上來問了。


--------------------
PMEmail PosterUsers Website
Top
Squall-Lucifer
發表於: Nov 25 2009, 12:18  
Quote Post


鋼鐵之孤狼
*****

發表數: 297
所屬群組: 一般
註冊日期: 10-22-2007

活躍:4
聲望:20


這是我照網上的教學寫出來的版本,不過不知為何出不到地圖,更勿論marker了,有高人可以幫幫我嗎?
ps:附件為php加JavaScript,我已經是放在網上的hosting中,不過仍出不到效果......

本篇文章已被 Squall-Lucifer 於 Nov 26 2009, 06:45 編輯過

附加檔案 ( 下載次數: 161 )
附加檔案  map.php


--------------------
PMEmail PosterUsers Website
Top
高長恭
發表於: Nov 25 2009, 16:41  評價+1
Quote Post


∼('▽'*)
*********

發表數: 1,054
所屬群組: 太守
註冊日期: 9-18-2003

活躍:9
聲望:435


可能性1:php error而導致javascript 的syntax error
可能性2:php無error但gen出來的javascript 有syntax error


--------------------
user posted image
PMEmail PosterUsers WebsiteIntegrity Messenger IM
Top
徐元直
發表於: Nov 26 2009, 02:13  評價+1
Quote Post


攤抖首領
************

發表數: 7,913
所屬群組: 君主
註冊日期: 9-18-2003

活躍:60
聲望:4176


我沒有時間幫你寫code或試code。其實這種東西只要你懂得分開去debug應該不難弄好,畢竟要做的東西很簡單。首先你應該測試下SQL select正不正確,有沒有拿到你要拿的東西,然後試下逐行讀取的loop/fetch row正不正確,確認前面這些沒問題,最後再檢查產生出來的JS正不正確,能不能控制並顯示google map。

如果你自己都不知道具體問題在哪裡(比如說某行SQL不會寫,某個動作不知道為甚麼實現不了),要別人幫忙就等於要別人幫你全面檢查甚至重寫,很多人不會有這樣的時間和精力,何況這是你們的功課,別人也不知道db的整個結構是怎樣。如果你只是問某個具體步驟怎麼用某行code實現,相信會比較容易得到幫助。

我的直覺是你或你的組員對SQL認識不足,誰說因為XY在兩個column就一定要分開拿?如果同一個座標的X和Y不在同一個row或者不在同一個table才需要分開拿吧,否則的話直接select你要的rows然後用while逐行fetch然後逐行產生JS就好了,根本不需要用一個array存起所有東西。那個loop也是莫名其妙讓人看不明白。

你上傳那個map.php看起來比較對路,至於為甚麼出不了東西,按我上面說的一步一步去debug吧。


--------------------
......
PMEmail Poster
Top
徐元直
發表於: Nov 26 2009, 02:23  
Quote Post


攤抖首領
************

發表數: 7,913
所屬群組: 君主
註冊日期: 9-18-2003

活躍:60
聲望:4176


給個連結你去學。

http://forums.devshed.com/beginner-program...ng-a-42325.html

fetch_array不是用來把整個table的資料都存在一個array中的,這是很基本的概念錯誤。

本篇文章已被 徐元直 於 Nov 26 2009, 02:24 編輯過


--------------------
......
PMEmail Poster
Top
古明地榃シベ
發表於: Nov 26 2009, 02:54  
Quote Post


九品官
****

發表數: 110
所屬群組: 一般
註冊日期: 9-03-2009

活躍:1
聲望:53


QUOTE (高長恭 @ Nov 25 2009, 19:10 )
QUOTE (luciferng @ Nov 25 2009, 16:06 )

while ($testnum>5){
$test[$testnum] = $X[0];
$testnum++;
}

咁寫唔會loop死?
點解X同Y係分開get?

不會死loop,而是根本進不去 tongue.gif
PM
Top
Squall-Lucifer
發表於: Nov 26 2009, 03:30  
Quote Post


鋼鐵之孤狼
*****

發表數: 297
所屬群組: 一般
註冊日期: 10-22-2007

活躍:4
聲望:20


回元直:
select一句應該是沒有錯的,反而想問問這一句有沒有錯:
mysql_query("SET NAMES 'utf8'", $link);
這一句是我跟著網上找的code來打的,所以或許有錯而我不自知。
-----------------------
$result = mysql_query("SELECT * FROM map",$link);
這一句應該是沒有錯的。

本篇文章已被 Squall-Lucifer 於 Nov 26 2009, 03:31 編輯過


--------------------
PMEmail PosterUsers Website
Top
徐元直
發表於: Nov 26 2009, 08:35  
Quote Post


攤抖首領
************

發表數: 7,913
所屬群組: 君主
註冊日期: 9-18-2003

活躍:60
聲望:4176


如果只是傳輸一些普通的英文和數字,你可以拿掉那行。


--------------------
......
PMEmail Poster
Top
Squall-Lucifer
發表於: Nov 26 2009, 15:54  
Quote Post


鋼鐵之孤狼
*****

發表數: 297
所屬群組: 一般
註冊日期: 10-22-2007

活躍:4
聲望:20


問題已解決,謝謝元直、古明地♥さとり和長恭。
雖然之後要試把drop down list的result和map連起來......


--------------------
PMEmail PosterUsers Website
Top
1 位使用者正在閱讀本主題 (1 位訪客及 0 位匿名使用者)
0 位會員:

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0150 ]   [ 12 queries used ]   [ GZIP 啟用 ]