2012-09-29 86 views
1

我試圖將變量分數保存在$ chartdata [0]數組中。如果我輸入一個常規值,我們可以說「20」,我沒有問題。但是,當我嘗試引用$ score變量時,值不會存儲在數組中。如果我使用隨機函數,並且即使當我回應出分數時,它也可以正常工作,我可以看到我的數值很好。我究竟做錯了什麼?將數組變量存儲在數組中

while ($i < 5) { 
    $date=mysql_result($result,$i,"date"); 
    $score=mysql_result($result,$i,"rating_score"); 
    echo $score; 
    $chartData[0][] = $score; 
    $chartData[1][] = rand(250,4000); 
    $chartData[2][] = rand(250,4000); 
    $categories[$i] = 'Label-' . $i; 
    $i++; 
} 

的頁面是在這裏:http://www.thelocalgolfer.com/chart/

+3

歡迎堆棧溢出陣列丟失!請不要使用'mysql_ *'函數來編寫新的代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

+3

*「不起作用」* [沒有解釋問題](http://stuck.include-once.org/#help3)就夠了。您需要詳細說明您的輸入,預期結果和實際結果,或詳細說明錯誤消息。例如,在你的問題中,你對輸出結果應該是非常不確定的。也不清楚你一直在試圖調試這個。 – hakre

回答

1

不,我完全看你的代碼的意義(如你簡單地覆蓋$chartData所有當循環這樣做還剩下什麼時候是最後的錄取分數線和蘭特) ,但回答你的問題:不是

$chartData[0][] = $score; 
$chartData[1][] = rand(250,4000); 
$chartData[2][] = rand(250,4000); 

做到這一點

$chartData[0][] = $score; 
$chartData[0][] = rand(250,4000); 
$chartData[0][] = rand(250,4000); 

當你使用它們print_r()var_dump()通常有助於看看什麼是真正的內部(我喜歡print_r(),如果我不關心內容,由於格式)

+0

也爲了避免用循環的每次迭代覆蓋你的數組,你可以使用循環控制變量作爲你的索引: $ chartData [$ i] [] = $ score; $ chartData [$ i] [] = rand(250,4000); $ chartData [$ i] [] = rand(250,4000); – akronymn

+1

那麼,我寧願設置臨時數組,然後立即將它添加到'$ chartData [] = $ tmpArray;'以避免引入其他變量。 –

+0

對不起,我不清楚。我試圖在兩條不同的路線上繪製點。 $ chartData [0]是第一行$ chartData [1]是第二行 - 如果你點擊這裏http://www.thelocalgolfer.com/chart/你會看到圖表會出現,因爲硬編碼的值:'while($ i <5){date = mysql_result($ result,$ i,「date」); $ score = mysql_result($ result,$ i,「rating_score」); echo $分數。 ','; $ chartData [0] [] = 21; $ chartData [1] [] = 22; // $ chartData [2] [] = rand(250,4000); $ categories [$ i] ='標籤 - '。 $ I; $ i ++; }'我在使用變量$得分時遇到了問題 – neilsav