Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Página produto retorna sem os dados

Minha página de produtos retorna em branco; sem os dados, nome e preco; somente com a tabela formata.Já testei em vários navegadores e o erro é o mesmo. Lembro que o instrutor disse que a $produtos = array(); não funcionava em todas versões de php. Estou usando a versão 5.3.1 será este o problema.

Já conferi o código produto-lista.php e banco-produto e estão idênticos ao do instrutor.

Alguma sugestão?

Valeu, Gláucia

4 respostas

Poste o código por favor, para que visualizemos.

codigo produto-lista.php

<?php include ("cabecalho.php");
      include ("conecta.php"); 
      include ("banco-produto.php"); ?>

<?php $produtos = listaProdutos($conexao); ?>

<table class="table table-striped table-bordered">

    <?php
       foreach($produtos as $produto) :
    ?>
        <tr>
            <td><?= $produto ['nome'] ?></td>
            <td><?= $produto ['preco'] ?></td>
        </tr>

        <?php
            endforeach
        ?> 

</table>    

<?php include("rodape.php");?>

codigo banco-produto.php

<?php function listaProdutos($conexao){

    $produtos = array();
    $resultado =mysqli_query($conexao, "select * from produtos");

    while($produto = mysqli_fetch_assoc($resultado)){
        array_push($produtos, $produto); 
    }
    return $produtos;

}



function insereProduto($conexao, $nome, $preco){
     $query ="insert into produtos(nome,preco) values ('{$nome}', {$preco})";

        return mysqli_query($conexao, $query);
} ?>$

Em produto-lista.php tente colocar o ponto e virgula no endforeach.

    <?php include ("cabecalho.php");
    include ("conecta.php");
    include ("banco-produto.php"); ?>

    <?php $produtos = listaProdutos($conexao); ?>

    <table class="table table-striped table-bordered">
    <?php
    foreach($produtos as $produto) :
    ?>
    <tr>
        <td><?= $produto ['nome'];?></td>
        <td><?= $produto ['preco'];?></td>
    </tr>

    <?php
    endforeach;
    ?>
    </table>

    <?php include("rodape.php");?>
solução!

Guilherme coloquei as virgulas como vc sugeriu e ainda continuou com o mesmo erro. Então resolvi atualizar o XAMPP para última versão e funcionou. Realmente era problema de incopatibilidade com a instrução $produtos = array(); como o instrutor mencionou no vídeo.

Valeu pela ajuda! E mais um aprendizado através da dor, rsrsr

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software