У меня вопрос, это может быть глупо, я только начал использовать это. У меня есть база данных с 5 записями, и я построил график с PHPlot, и он не будет обновляться, когда я добавлю новую запись. Я установил для отображения последних 5 записей в линейном графике, но он показывает только 3 (было 3, когда я закодировал скрипт). Любая помощь приветствуется. Вот код.PHPlot с mySQL не обновляет wit новые записи
<?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. Большое спасибо. Все и любая помощь приветствуются.
Является ли это унаследованное приложение? 'mysql_query' не должен использоваться в новом коде. – tadman
Я позабочусь обо всем этом позже, прямо сейчас его голые кости на этапе тестирования. Благодаря! – sandorfalot
Вы должны использовать минимальный минимум [PDO] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/). Риск ошибки с mysql_query слишком высок, и очень легко совершать подобные ошибки. Прототипирование в полностью устаревшем интерфейсе напрасно тратит ваше время, так как вам придется переписать все. – tadman