2013-03-15 3 views
0

Борьба с интеграцией графиков Google (pie) с базой данных MYSQL. Он пытается получить данные из базы данных, называемой «mxp937_AddStakeholder», и, в частности, имя столбца - «ProjectRoles», которое содержит строковые данные, например, Manager, Full Time Stakeholder, Software Developer .... GUI Designer. В конечном счете эти данные должны отображаться в круговой диаграмме и отображать информацию, например, 5% пользователей являются разработчиками программного обеспечения и т. Д.Отображение таблицы HTML из базы данных SQL

Ошибка, которую я получаю: Предупреждение: mysql_fetch_assoc(): предоставленный аргумент не является допустимым MySQL ресурс результата.

Советуем?

<?php 
$con=mysql_connect("localhost","username","password") or die("Failed to connect with database!"); 
mysql_select_db("mxp937_AddStakeholder", $con); 
$sth = mysql_query("SELECT projectroles FROM mxp937_AddStakeholder"); 
$rows = array(); 
//flag is not needed 
$flag = true; 
$table = array(); 
$table['cols'] = array(

array('label' => 'Project Roles', 'type' => 'string'), 

); 

$rows = array(); 
while($r = mysql_fetch_assoc($sth)) { 
$temp = array(); 
// the following line will used to slice the Pie chart 
$temp[] = array('v' => (string) $r['ProjectRoles']); 

//Values of the each slice 
$temp[] = array('v' => (int) $r['percentage']); 
$rows[] = array('c' => $temp); 
} 

$table['rows'] = $rows; 
$jsonTable = json_encode($table); 
//echo $jsonTable; 
?> 

<html> 
<head> 
<!--Load the AJAX API--> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script type="text/javascript"> 

// Load the Visualization API and the piechart package. 
google.load('visualization', '1', {'packages':['corechart']}); 

// Set a callback to run when the Google Visualization API is loaded. 
google.setOnLoadCallback(drawChart); 

function drawChart() { 

    // Create our data table out of JSON data loaded from server. 
    var data = new google.visualization.DataTable(<?=$jsonTable?>); 
    var options = { 
     title: 'Project Roles', 
     is3D: 'true', 
     width: 800, 
     height: 600 
    }; 
    // Instantiate and draw our chart, passing in some options. 
    //do not forget to check ur div ID 
    var chart = new google.visualization.PieChart(document.getElementById('chart_div')); 
    chart.draw(data, options); 
} 
</script> 

ответ

0

Это должно быть имя вашей базы данных («mxp937_AddStakeholder»)

mysql_select_db("mxp937_AddStakeholder", $con); 

Это должно быть имя таблицы вашего выбора результаты из

$sth = mysql_query("SELECT * FROM table_name"); 
0

Вы пробовали вторя ошибку вы получите от выполнения запроса? Потому что, если ваш запрос не выполняется успешно (например, он имеет некоторые проблемы с синтаксисом), тогда у вас не будет результата для управления. Попробуйте

or die(mysql_error()); 

после выполнения запроса.

Кроме того, вы должны прекратить использовать функции mysql_ * и начать использовать mysqli_ * ones, или вы можете использовать PDO. Функции mysql_ * находятся в процессе лишения.

Смежные вопросы