2014-01-15 41 views
0

我有一個問題,它可能是愚蠢的,我剛開始使用這個。我有一個包含5個條目的數據庫,並且我用PHPlot繪製了一個圖表,並且在添加新條目時它不會更新。我已經設置爲顯示線圖中的最後5個條目,但它只顯示3(當我編寫腳本時有3個條目)。任何幫助表示讚賞。這是代碼。PHPlot與mySQL不更新機智新條目

<?php 

//database connection 
$dbname="localhost"; 
$dbun="username"; 
$dbpw="password"; 
$database="medtrack"; 

//my table1 
$table="members"; 

// Connect to database 
$conn = mysql_connect("$dbname", "$dbun", "$dbpw") or die(mysql_error()); 

mysql_select_db("$database", $conn) or die(mysql_error()); 


// Include files 
include 'phplot/phplot.php'; 


// start array 
$qry = mysql_query("SELECT * FROM 36_mood ORDER BY 'id' DESC"); 
for($i = 0; $i < 3; $i++) 
$data[$i] = mysql_fetch_array($qry); 


//array 1, id I didn't change the name yet, sorry 
$date1=$data[0]['id']; 
$date2=$data[1]['id']; 
$date3=$data[2]['id']; 
$date4=$data[3]['id']; 
$date5=$data[4]['id']; 

//array 2, moods - these are on a scale of 0-10, stored as int in the database 
$mood1=$data[0]['mood']; 
$mood2=$data[1]['mood']; 
$mood3=$data[2]['mood']; 
$mood4=$data[3]['mood']; 
$mood4=$data[4]['mood']; 


//Define the object 
$plot2 = new PHPlot(); 

//Define some data 
$example_data = array(
    array(1,$mood1), 
    array(2,$mood2), 
    array(3,$mood3), 
    array(4,$mood4), 
    array(5,$mood5), 
); 

$plot2->SetDataValues($example_data); 

//Turn off X axis ticks and labels because they get in the way: 
$plot2->SetXTickLabelPos('none'); 
$plot2->SetXTickPos('none'); 

//Draw it 
$plot2->DrawGraph(); 

?> 

所有幫助表示讚賞。我在想,如果這不起作用,每次人們點擊圖形頁面時都會生成一個頁面。有什麼想法嗎?我試過libchart,但它不喜歡MySQL,我可能會再試一次。我吮吸Javascript。非常感謝。所有和任何幫助表示讚賞。

+0

這是遺留應用程序嗎?不應該在新代碼中使用'mysql_query'。 – tadman

+0

我將在後面處理所有這些事情,現在它已經成爲測試階段的裸骨。謝謝! – sandorfalot

+0

您應該至少使用[PDO](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/) )。使用mysql_query犯了一個錯誤的風險太高了,而且犯這種錯誤很容易。原型在一個完全過時的界面浪費你的時間,因爲你將不得不重寫所有內容。 – tadman

回答

0

您的for-loop只能處理3個條目。 你可以使用mysql_num_rows($qry)

$rows = mysql_num_rows($qry); 
for($i = 0; $i < $rows; $i++) 
    $data[$i] = mysql_fetch_array($qry); 
+0

哦,我的,一個愚蠢的錯誤。咄!謝謝 – sandorfalot