Make the strings work without error [closed]

-2

I need to make this code work without error, could anyone help me?

<?php
    $htmlProdutos[] = "

    $html .= '<tr>';
    $html .= '<td colspan=15><b>$nomeProduto</b></td>';
    $html .= '</tr>';

    $html .= '<tr>';
    $html .= '<td colspan='3'><b>Tamanho</b></td>';
    $html .= '<td colspan='4'><b>Qtd</b></td>';
    $html .= '<td colspan='4'><b>Valor unit</b></td>';
    $html .= '<td colspan='4'><b>Valor total</b></td>';
    $html .= '</tr>';

    $html .= '<tr>';
    $html .= '<td colspan='3'><b>P:</b></td>';
    $html .= '<td colspan='4' style='text-align:left;'>$qnt1Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$valor1Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$resultado1Produto</td>';
    $html .= '</tr>'; 

    $html .= '<tr>';
    $html .= '<td colspan='3'><b>M:</b></td>';
    $html .= '<td colspan='4' style='text-align:left;'>$qnt2Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$valor2Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$resultado2Produto</td>';
    $html .= '</tr>'; 

    $html .= '<tr>';
    $html .= '<td colspan='3'><b>G:</b></td>';
    $html .= '<td colspan='4' style='text-align:left;'>$qnt3Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$valor3Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$resultado3Produto</td>';
    $html .= '</tr>'; 

    $html .= '<tr>';
    $html .= '<td colspan='3'><b>GG:</b></td>';
    $html .= '<td colspan='4' style='text-align:left;'>$qnt4Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$valor4Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$resultado4Produto</td>';
    $html .= '</tr>'; 

    $html .= '<tr>';
    $html .= '<td colspan='3'><b>XG:</b></td>';
    $html .= '<td colspan='4' style='text-align:left;'>$qnt5Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$valor5Produto</td>';
    $html .= '<td colspan='4' style='text-align:left;'>$resultado5Produto</td>';
    $html .= '</tr>';

    $html .= '<tr>';
    $html .= '<td colspan='15' style='text-align:right;'><b>Total do produto: $totalProduto</b></td>';
    $html .= '</tr>';
    $html .= '<tr>';
    $html .= '<td colspan='15' style='height:0.3cm;'> </td>';
    $html .= '</tr>';
    ";
?>
    
asked by anonymous 12.12.2017 / 12:33

1 answer

2

Variables do not work within apostrophes:

$foo = 'bar';
echo 'Teste: $foo';

Will display:

  

Test: $ foo

But that's how it works

$foo = 'bar';
echo "Teste: $foo";

Will display:

  

Test: bar

In your code you did this:

 '<td colspan='3'...

Probably some syntax error is occurring, HTML could not use apostrofo there without escaping, it should be this:

 '<td colspan=\'3\'

Another problem is this:

$htmlProdutos[] = "

    $html .= '

It just does not make sense, for ease you can use HEREDOC that will allow you to use variables and quotation marks without escaping:

    $htmlProdutos[] = <<<EOT
<tr>
<td colspan=15><b>$nomeProduto</b></td>
</tr>

<tr>
<td colspan="3"><b>Tamanho</b></td>
<td colspan="4"><b>Qtd</b></td>
<td colspan="4"><b>Valor unit</b></td>
<td colspan="4"><b>Valor total</b></td>
</tr>

<tr>
<td colspan="3"><b>P:</b></td>
<td colspan="4" style="text-align:left;">$qnt1Produto</td>
<td colspan="4" style="text-align:left;">$valor1Produto</td>
<td colspan="4" style="text-align:left;">$resultado1Produto</td>
</tr>

<tr>
<td colspan="3"><b>M:</b></td>
<td colspan="4" style="text-align:left;">$qnt2Produto</td>
<td colspan="4" style="text-align:left;">$valor2Produto</td>
<td colspan="4" style="text-align:left;">$resultado2Produto</td>
</tr>

<tr>
<td colspan="3"><b>G:</b></td>
<td colspan="4" style="text-align:left;">$qnt3Produto</td>
<td colspan="4" style="text-align:left;">$valor3Produto</td>
<td colspan="4" style="text-align:left;">$resultado3Produto</td>
</tr>

<tr>
<td colspan="3"><b>GG:</b></td>
<td colspan="4" style="text-align:left;">$qnt4Produto</td>
<td colspan="4" style="text-align:left;">$valor4Produto</td>
<td colspan="4" style="text-align:left;">$resultado4Produto</td>
</tr>

<tr>
<td colspan="3"><b>XG:</b></td>
<td colspan="4" style="text-align:left;">$qnt5Produto</td>
<td colspan="4" style="text-align:left;">$valor5Produto</td>
<td colspan="4" style="text-align:left;">$resultado5Produto</td>
</tr>

<tr>
<td colspan="15" style="text-align:right;"><b>Total do produto: $totalProduto</b></td>
</tr>
<tr>
<td colspan="15" style="height:0.3cm;"> </td>
</tr>
EOT;

or you can concatenate as follows:

$htmlProdutos[] =
    '<tr>' .
    '<td colspan=15><b>' . $nomeProduto . '</b></td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="3"><b>Tamanho</b></td>' .
    '<td colspan="4"><b>Qtd</b></td>' .
    '<td colspan="4"><b>Valor unit</b></td>' .
    '<td colspan="4"><b>Valor total</b></td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="3"><b>P:</b></td>' .
    '<td colspan="4" style="text-align:left;">' . $qnt1Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $valor1Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $resultado1Produto . '</td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="3"><b>M:</b></td>' .
    '<td colspan="4" style="text-align:left;">' . $qnt2Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $valor2Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $resultado2Produto . '</td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="3"><b>G:</b></td>' .
    '<td colspan="4" style="text-align:left;">' . $qnt3Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $valor3Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $resultado3Produto . '</td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="3"><b>GG:</b></td>' .
    '<td colspan="4" style="text-align:left;">' . $qnt4Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $valor4Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $resultado4Produto . '</td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="3"><b>XG:</b></td>' .
    '<td colspan="4" style="text-align:left;">' . $qnt5Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $valor5Produto . '</td>' .
    '<td colspan="4" style="text-align:left;">' . $resultado5Produto . '</td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="15" style="text-align:right;"><b>Total do produto: ' . $totalProduto . '</b></td>' .
    '</tr>' .
    '<tr>' .
    '<td colspan="15" style="height:0.3cm;"> </td>' .
    '</tr>';
    
12.12.2017 / 12:39