My Sql Table
+------------+---------+
| name | price |
+------------+---------+
| A | 70 |
+------------+---------+
| B | 70 |
+------------+---------+
Я создаю PDF с TCPDF:
$pdo = $db->prepare("SELECT * FROM table");
$pdo->execute();
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
$result += $row['price'];
}
$html = '
<table><tr><th>'.$result.'</th></tr></table>'
;
Я ожидаю, что результат будет 140
, но я получаю сообщение об ошибке:
Notice: Undefined variable: result
TCPDF ERROR: Some data has already been output, can't send PDF file
Примечание: если я удалю +
знак. PDF создан без ошибок, и я получаю результат 70
,
Он делает то, что говорит на банке: $result
не определяется при первом цикле просмотра ваших данных. Вы ничего не можете добавить к этому, потому что это еще не определено. Это должно работать.
$pdo = $db->prepare("SELECT * FROM table");
$pdo->execute();
$result = 0.0; // Add this row. I'm assuming 'price' is a decimal
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
$result += $row['price'];
}
На линии
$result += $row['price'];
Вы делаете это
$result = $result + $row['price'];
Но при самом первом запуске сценария переменная $ result не определена.
добавлять
$result = 0;
перед соединением $ pdo или раньше, и у вас больше не должно быть ошибок.