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

DUVIDA

Depois que mexeu no bancoproduto.php ficou tudo desalinhado, estou encaminhando um print de como ficou ou segue modelo encaminhado em baixo: https://drive.google.com/open?id=1b_n30s22QW_nfomuh__cRZulUsOv6Vki

O que era pra ficar no campo quantidade foram para o campo "Nome", e não está aparecendo todos registros do banco apenas uma coluna.

Como ficou : oque era pra ficar em quantidade ta em "Nome" e não está aparecendo o valor quantidade modelo etc.

Nome    Quantidade    Valor Do Produto    Modelo Do Aparelho    Opções
80                

34                  
30                  
43434                  
20                  
23                  

Meu arquivo BANCO-PRODUTO.PHP:

<?php
require_once("conecta.php");
require_once("class/produto.php");

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

while($produto_array = mysqli_fetch_assoc($resultado)) {

$produto = new Produto();
$produto->nome = $produto_array['nome'];
$produto->nome = $produto_array['quantidade'];
$produto->nome = $produto_array['valor'];
$produto->nome = $produto_array['modelo'];

array_push($produtos, $produto);
}
return $produtos;
}

function insereProduto($conexao, Produto $produto) {
$query = "insert into produtos (nome, quantidade,valor,modelo) values ('{$produto->nome}', {$produto->quantidade},{$produto->valor},{$produto->modelo})";
 return mysqli_query($conexao, $query);
}
function buscaProduto($conexao, $id){
    $query = "select * from produtos where id = ($id)";
    $resultado = mysqli_query($conexao, $query);
    return mysqli_fetch_assoc($resultado);
}

function removeProduto($conexao, $id) {
$query = "delete from produtos where id = {$id}";
return mysqli_query($conexao, $query);
}
function alteraProduto($conexao,$id, $nome, $quantidade, $valor, $modelo){
    $query = "update produtos set nome = '{$nome}', quantidade = {$quantidade},
              valor={$valor}, modelo={$modelo} where id = '{$id}'";
    return mysqli_query($conexao, $query);

}

ADICIONA-PRODUTO.PHP :

<?php
include("cabecalho.php");
include("conecta.php");
include("banco-produto.php");
require_once("class/Produto.php"); ?>
<?php

$produto = new Produto();
$produto ->nome = $_GET["nome"];
$produto->quantidade = $_GET["quantidade"];
$produto->valor = $_GET["valor"];
$produto->modelo = $_GET["modelo"];

if(insereProduto($conexao, $produto)) { ?>
<p class="text-success">O produto <?= $produto->nome; ?>, <?= $produto->valor; ?> adicionado com sucesso!</p>
<?php } else {

?>
<p class="text-danger">O produto <?= $produto->nome; ?> não foi adicionado: <?= $msg ?></p>
<?php
}
?>

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

PRODUTO-LISTA.PHP:

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

<table  class="table">
<div class="pull-right">
<a  href="./produto-formulario.php" class="btn btn-success">Novo Registro</a>
</div>
<tr>
    <th class="text-center">Nome</th>
    <th class="text-center">Quantidade</th>
    <th class="text-center">Valor Do Produto</th>
    <th class="text-center">Modelo Do Aparelho</th>
    <th class="text-center">Opções</th>
</tr>
<tr>
<?php
    $produtos = listaProdutos($conexao);
    foreach($produtos as $produto) :
?>
     <td class="text-center"> <?= $produto->nome ?></td>
     <td class="text-center"><?= $produto->quantidade ?></td>
     <td class="text-center"><?= $produto->valor ?></td>
    <td class="text-center"><?= $produto->modelo ?></td>
    <td class="text-center">

    <form action="remove-produto.php" method="GET">
    <a title="Remover" href="remove-produto.php?id=<?=$produto->id?>" class="glyphicon glyphicon-remove"></a>
    <a title="Alterar" href="produto-altera-formulario.php?id=<?=$produto->id?>" class="glyphicon glyphicon-plus"></a>
    <span title="Visualizar" class="glyphicon glyphicon-search"></span>    
    </td>
</tr>
<?php
endforeach
?>
</table>


2 respostas
solução!

Victor, bom dia!

Nas linha abaixo você repetiu a atribuição Arquivo BANCO-PRODUTO.PHP

$produto = new Produto();
$produto->nome = $produto_array['nome'];
$produto->nome = $produto_array['quantidade'];
$produto->nome = $produto_array['valor'];
$produto->nome = $produto_array['modelo'];    

Por isso a variável nome recebeu quantidade, o correto seria assim

$produto = new Produto();
$produto->nome = $produto_array['nome'];
$produto->quantidade = $produto_array['quantidade'];
$produto->valor = $produto_array['valor'];
$produto->modelo = $produto_array['modelo'];

Agora as atribuições estão corretas!

Espero ter ajudado e bons estudos! :D

Obrigado, amigo deu certo, não tinha reparado nisso.

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