2017-02-28 2 views
0

Mon Sql TableauPourquoi ma variable est-elle indéfinie dans TCPDF?

+------------+---------+ 
| name | price | 
+------------+---------+ 
|  A  | 70 | 
+------------+---------+ 
|  B  | 70 | 
+------------+---------+ 

créer un pdf avec 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>' 
; 

Je pense que le résultat soit 140, mais je reçois un message d'erreur:

Notice: Undefined variable: result 
TCPDF ERROR: Some data has already been output, can't send PDF file 

Note: Si je supprime le signe +. Le pdf est créé sans erreur et j'obtiens le résultat 70.

+1

make $ resultat = 0; après $ pdo-> execute(); Maintenant, vous essayez d'ajouter quelque chose à la variable inexistante :) – barat

+0

Copie possible de [PHP: "Remarque: Undefined variable", "Avis: Undefined index", et "Notice: Undefined offset"] (http: // stackoverflow .com/questions/4261133/php-notice-non-défini-variable-notice-undefined-index-and-notice-undef) – miken32

Répondre

2

Il fait ce qu'il dit sur l'étain: $result n'est pas défini la première fois que vous bouclez vos données. Vous ne pouvez rien ajouter, car ce n'est pas encore défini. Cela devrait fonctionner.

$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'];  
    } 
+0

Oui, ça a marché! – Jarla

2

Sur la ligne

$result += $row['price']; 

Vous faites ce

$result = $result + $row['price']; 

Mais la première fois que vous exécutez le script, la variable $ result n'est pas défini. Ajouter

$result = 0; 

avant la connexion de $ pdo ou avant tout et vous ne devriez pas avoir des erreurs plus.

+0

Merci, cela fonctionne – Jarla