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

Dúvidas sobre o conecta.php

Quando eu coloco include("conecta.php"), a partir daí a conexão com o banco fica aberta ou só abre quando eu uso listaProdutos($conexao);. Fiquei na dúvida pq quando uso include no cabecalho.php é executado assim que é chamado.

<?php include("cabecalho.php"); ?>
<?php include("conecta.php"); ?>
<?php include("banco-produtos.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
}
?>
</table>
<?php include("rodape.php"); ?>
2 respostas

Outro caso é o banco-produtos.php, se esse arquivo tiver muitas funções e eu só quero utilizar uma, dando include nesse arquivo, a página não vai ficar um lenta para incluir todas essas funções? Enfim, como funciona o include?

<?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})";
$resultadoDaInsercao = mysqli_query($conexao, $query);
return $resultadoDaInsercao;
}
solução!

Opa, o include vai colar todo o código definido no outro arquivo.. Então a conexão vai ficar aberta sim, assim como todas as funções do arquivo serão incluídas no seu arquivo..

Mas vc não precisa se preocupar com isso, o php otimiza isso e não fica repetindo o processo para toda requisição :).