1
resposta

Após criar a funcão corrency_helper da mesma forma que foi passado na aula de codeigniter, quando fui fazer o teste no navegador deu erro nos nomes dos produtos.

Produtos
A PHP Error was encountered
Severity: Warning

Message: number_format() expects parameter 1 to be double, string given

Filename: helpers/currency_helper.php

Line Number: 3

R$    R$ 300,00


<?php
class Produtos extends CI_Controller{
    public function index()
    {
        $this->load->database();

        $this->load->model("produtos_model");
        $produtos = $this->produtos_model->buscaTodos();

        $dados = array("produtos" => $produtos);

        $this->load->helper("url");
        $this->load->helper("currency");
        $this->load->view("produtos/index.php", $dados);
    }
}

function numeroEmReais($numero) { return "R$ " . number_format($numero, 2, ",", "."); }

    <html lang="en">
        <head>
            <link rel="stylesheet" href="<?= base_url("css/bootstrap.css") ?>">
        </head>
        <body>
        <div class="container">

            <h1> Produtos</h1>
            <table class="table">
                <?php foreach($produtos as $produto) : ?>
                <tr>
                    <td><?= numeroEmReais($produto["nome"]) ?></td>
                    <td><?= numeroEmReais($produto["preco"])?></td>
                </tr>
            <?php endforeach ?>
            </table>
            <div>
        </body>
    </html>

`

1 resposta

Olá Jorge, peço desculpas pela demora no retorno, mas caso você ou mais alguém encontre um erro parecido vou tentar ajudar.

Como a mensagem de erro está informando a função number_format() espera receber valores numéricos, mas no seu código está sendo passado uma string. Provavelmente acontece apenas porque foi aplicado a formatação de número em reais no nome do produto: numeroEmReais($produto["nome"])