PHP 使用 SQL 获取数组中的数据


PHP getting data in an array with SQL

我正在为我的网站制作图表。我想在此图中显示不同的数据。我有一个 mysql 数据库,其中包含一个包含四行的表。我想将这四行保存在一个数组中,这个数组将在图表上可见。

$transportertraindb = mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'trein'", $db);
$transporterlorrydb = mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'vrachtauto'", $db);
$transporterinlanddb = mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'binnenschip'", $db);
$transporterseadb = mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'zeeschip'", $db);

这是我数据库中的行。我将它们的值保存在一个变量中。

$data = array('Zeeschip'=>$transporterseadb, 'Binnenvaart'=>$transporterinlanddb, 'Trein'=>$transportertraindb, 'Vrachtwagen'=>$transporterlorrydb); 

这将是我的阵列。

不幸的是,这并没有给出预期的结果。 因为图形中的所有值都是相等的,我认为这是因为他没有得到正确的数据。我想我在代码中做错了什么,我希望有人可以帮助我解决这个问题。

下面你会发现整个图形代码,好吧,我不会复制包含的页面。

 <?php
include('graidlechart/graidle.php');
    / array with number of tourists, by countries
    $data = array('Zeeschip'=>$transporterseadb, 'Binnenvaart'=>$transporterinlanddb, 'Trein'=>$transportertraindb, 'Vrachtwagen'=>$transporterlorrydb);        

    // set 2 numeric arrays, one with countries (for legend), another with tourists number
    $cnt = array_keys($data);
    $tor = array_values($data);
    // create object of graidle class (define Title)
    $graph = new graidle('Representation containers of transporters');
    $graph->setColor('#a7b8ed');
    $graph -> setValue($tor,'p');      // set pie chart (p=pie)
    $graph -> setLegend($cnt);             // to add a legend
    $graph -> setExtLegend(1);             // to display percentage, and numbers
    $graph -> setWidth(420);               // graphic chart width
    $graph -> create();                       // create chart
    $graph->carry2file('charts/', 'graphic_chart_3');
    ?>    

你应该获取数据。

$transportertraindb = mysql_fetch_array(mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'trein'", $db));
$transporterlorrydb = mysql_fetch_array(mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'vrachtauto'", $db));
$transporterinlanddb = mysql_fetch_array(mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'binnenschip'", $db));  
$transporterseadb = mysql_fetch_array(mysql_query("SELECT container_counter FROM transporter WHERE transporter_name = 'zeeschip'", $db));
$data = array('Zeeschip'=>$transporterseadb['container_counter'], 'Binnenvaart'=>$transporterinlanddb['container_counter'], 'Trein'=>$transportertraindb['container_counter'], 'Vrachtwagen'=>$transporterlorrydb['container_counter']);

我希望它有所帮助。