Привет, я пытаюсь получить данные из базы данных mysql, чтобы создать график флота. Может ли кто-нибудь провести меня через эту процедуру или дать мне представление о том, что делать, спасибо
Получить данные из mysql с помощью php для создания графика флотации
comment
В какой именно момент вам нужна помощь? Я предполагаю, что вы в основном знаете, как извлекать данные из базы данных?
- person JorenB   schedule 21.08.2009
comment
я знаю, как извлечь данные, но как создать флот
- person Sarah   schedule 21.08.2009
comment
После получения массива что мне делать
- person Sarah   schedule 21.08.2009
Ответы (4)
Вы, наверное, хотите что-то вроде этого. Я не использовал флот, но посмотрел пример здесь.
<?php
//create array of pairs of x and y values
$dataset1 = array();
while ($row = mysql_fetch_assoc()) { //or whatever
$dataset1[] = array( $row['xvalue'], $row['yvalue'] );
}
?>
<script type="text/javascript">
//put array into javascript variable
var dataset1 = <?php echo json_encode($dataset1); ?>;
//plot
$(function () {
$.plot($("#placeholder"), [ dataset1 ]);
});
</script>
person
Tom Haigh
schedule
21.08.2009
Привет, я сделал, как вы сказали, но это не работает, есть исключение $dataset1 = array(); while ($row = mysql_fetch_assoc($sql)) { $dataset1[] = array($row['msgCount'], $row['Group_ID'] ); } эхо json_encode($dataset1); функция jquery plotGraph () { предупреждение (в теле); $.ajax({ url:getData.php, тип:сообщение, тип данных:json, успех:функция(данные) {предупреждение(данные); $.plot($(#placeholder), [данные]); }, ошибка: function() {alert(возникла проблема);} }) } чего-то не хватает
- person Sarah; 25.08.2009
Привет, Том. Этот пример был действительно полезным, но теперь я столкнулся с проблемой обработки нуля, потому что он не отображается на графике.
- person Sarah; 27.08.2009
@Sarah: Я полагаю, вы могли бы преобразовать их в ноль - либо в запросе, например, IFNULL ( colName, 0 ), либо в вашем цикле PHP, приведя каждое значение к целому числу.
- person Tom Haigh; 27.08.2009
Спасибо за это, у меня были проблемы с переносом json из php в flot, и это сработало отлично.
- person going; 04.12.2009
Добавляя пример из @Tom Haigh:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Flot Examples</title>
<link href="layout.css" rel="stylesheet" type="text/css">
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
<script language="javascript" type="text/javascript" src="../jquery.js"></script>
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
</head>
<body>
<h1>Flot Examples</h1>
<div id="placeholder" style="width:600px;height:300px;"></div>
<?php
$server = "localhost";
$user="user";
$password="password";
$database = "some_database";
$connection = mysql_connect($server,$user,$password);
$db = mysql_select_db($database,$connection);
query = "SELECT x_axis_values, y_axis_values FROM some_table";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
$dataset1[] = array($row['x_axis_value'],$row['y_axis_value']);
}
?>
<script type="text/javascript">
$(function () {
var dataset1 = <?php echo json_encode($dataset1); ?>;
$.plot($("#placeholder"), [ dataset1 ]);
});
</script>
</body>
</html>
person
John M
schedule
29.11.2011
Наткнулся на это. Просто пытаюсь заставить его работать. Я думаю, что вам не хватает
$
перед query
. Также на переменную $db
ссылаются только один раз. Это правильно? Вышеупомянутое не будет распространяться в любом случае. Хотелось бы помощи :)
- person square_eyes; 18.10.2013
как говорит @Tom Haigh, работает хорошо, но вам нужно добавить еще один код, чтобы работать хорошо, я использовал пример, но я обнаружил в исходном коде, что он добавляет к кавычкам результата, поэтому, чтобы избежать этого, просто добавьте: intval к массив, пример:
<?php
$query = "SELECT valx, valy FROM chart";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
$d2[] = array (intval($row['valx']),intval($row['valy']));
}
?>
person
Skylex
schedule
26.07.2012
Это во многом зависит от вашей среды и требований. Существует множество бесплатных инструментов, которые вы можете использовать. Одним из примеров является Flot, который позволяет использовать jQuery для построения графиков. На странице кода Google есть ссылка на документацию.
person
Steven Surowiec
schedule
21.08.2009