【问题标题】:inserting an array in a fpdf data for graph在图形的 fpdf 数据中插入数组
【发布时间】:2019-11-15 17:57:32
【问题描述】:

我必须在图形数据中放置一个数组 这是原始格式

$data = array( "DATA_1title" => DATA1, "DATA_2title" => DATA2);

这是 php 的声明

    $sqlb = "SELECT date_format(datesales, '%M %D %Y') as datesales,
    sum(amount) as amount from sales
    where date(datesales) <= curdate() and
    date(datesales) >= curdate() - interval 6 day
    group by DATE_FORMAT(datesales, '%M %D %Y')";
    $resultb = $conn->query($sqlb);
    while($rowb = $resultb->fetch_assoc())
    {
        $datesales = $rowb['datesales'];
        $amount = $rowb['amount'];
    }

我试过这个代码

    $sqlb = "SELECT date_format(datesales, '%M %D %Y') as datesales,
    sum(amount) as amount from sales
    where date(datesales) <= curdate() and
    date(datesales) >= curdate() - interval 6 day
    group by DATE_FORMAT(datesales, '%M %D %Y')";
    $resultb = $conn->query($sqlb);
    while($rowb = $resultb->fetch_assoc())
    {
        $datesales=$rowb['datesales'];
        $amount=$rowb['amount'];

        $data = array( "$datesales" => $amount,);
    }

但它只显示一个值 而不是一个值数组 我也试过这个

$sqlb = "SELECT date_format(datesales, '%M %D %Y') as datesales,
    sum(amount) as amount from sales
    where date(datesales) <= curdate() and
    date(datesales) >= curdate() - interval 6 day
    group by DATE_FORMAT(datesales, '%M %D %Y')";
    $resultb = $conn->query($sqlb);
    while($rowb = $resultb->fetch_assoc())
    {
        $data = array( "$rowb['datesales']" => $rowb['amount'],);
    }

但我得到了相同的结果 我想要的是不用每次手动输入key和value,而是可以用我做的sql语句从数据库中拉出来。

Instead of this 
$data = array( "DATA_1title" => DATA1, "DATA_2title" => DATA2);
I want it to be like this
**SQL STATEMENT HERE**
$data = array( "$datetimes" => $amount);

$datetimes refers to the alias in the sql statement which is an array
so is $amount

【问题讨论】:

  • 我正在使用 fpdf 创建一个 pdf 图表,ORIGINAL CODE 是一个数组,用于输入图表的值。所以我期望的结果不是手动输入键和值,而是我希望将键和值从数据库中提取出来(sql 语句中的datesalesamount
  • 而不是这个$data = array( "DATA_1title" =&gt; DATA1, "DATA_2title" =&gt; DATA2);
  • 我希望它以某种方式从$sqlb = "SELECT date_format(datesales, '%M %D %Y') as datesales, sum(amount) as amount from sales where date(datesales) &lt;= curdate() and date(datesales) &gt;= curdate() - interval 6 day group by DATE_FORMAT(datesales, '%M %D %Y')"; $resultb = $conn-&gt;query($sqlb); while($rowb = $resultb-&gt;fetch_assoc()) { } 上方的sql语句中获取它们各自的数据
  • 完成了,你可以看看编辑后的问题
  • 我又编辑了,请看一下

标签: php mysql fpdf


【解决方案1】:

您可以简单地将一个值用作键,将另一个值用作值。例如:

// instead of your while loop
foreach($resultb as $rowb) {
    $data[$rowb['datesales']] = $rowb['amount'];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-31
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 2021-07-25
    相关资源
    最近更新 更多