Ir para conteúdo
Lucas_R22

Buscar conteudo de uma linha no mysql pelo id

Recommended Posts

Então galera, estou desenvolvendo um crud, e nele tenho uma pagina onde busco certo produto e ele me lista de acordo com o que eu busquei, só que na parte de categoria, ele está mostrando pelo id do sql, e o que estou tentando fazer é colocar o nome da categoria. estarei deixando o código do arquivo produtos.php, a foto do navegador e da tabelo no mysql.

 

link das fotos explicando:
https://drive.google.com/open?id=1c6rRKTqIubHf98W0-wcJVKhsn_li1HNv

 

código:

<?php
include_once('../includes/conexao.php');
$busca = '';
if(isset($_GET['busca'])) {
    $busca = $_GET['busca'];
}
if($busca != ''){
    $sql_produtos = "SELECT * FROM produtos WHERE nome LIKE '%$busca%' ORDER BY id DESC";
}else{
    $sql_produtos = "SELECT * FROM produtos ORDER BY id DESC";
}

$query_produtos = mysqli_query($conexao, $sql_produtos);

$produtos = mysqli_fetch_all($query_produtos);

?>
<?php 
include('../layout/header.php'); 
include('../layout/menu.php'); 
?>    
<div class="row">
    <div class="col-6 ">
        <form class="form-inline">
            <div class="form-group">
                <input type="text" name="busca" id="busca" class="form-control" required placeholder="Digite o termo da busca" value="<?php echo $busca; ?>">
                <button type="submit" class="btn btn-primary" title="Pesquisar">
                    <i class="fas fa-search"></i>
                </button>
                <a href="produtos.php" class="btn btn-warning" title="Limpar pesquisa">
                    <i class="fas fa-times"></i>
                </a>
            </div>
        </form>
    </div>
    <div class="col-3 offset-md-3" >
        <a href="<?php echo $path ?>produtos/form_produto.php" class="btn btn-success" title="Novo produto">
            <i class="fas fa-plus" ></i> Novo produto
        </a>
    </div>
</div>
        <h2>
            Listagem de produtos
            <small><span class="badge badge-secondary"><?php echo count($produtos); ?> produto(s)</span></small>
        </h2>
        <table class="table table-hover table-striped table-bordered">
            <tr class="text-center">
                <th>Descrição do Produto</th>
                <th>Valor do Produto</th>
                <th>Categoria</th>
                <th>Ações</th>
            </tr>
            <?php 
                for ($i=0; $i < count($produtos); $i++) { 
            ?>
            <tr>
                <td><?php echo $produtos[$i]["1"]; ?></td>
                <td>R$ <?php echo number_format($produtos[$i]["2"],2,',','.') ?></td>
                <td><?php echo $produtos[$i]["3"] ?></td>
                <td>
                    <a href="form_produto.php?id=<?php echo $produtos[$i]["0"]; ?>" class="btn btn-warning" title="Editar">
                        <i class="fas fa-pencil"></i>
                    </a>
                    <a href="delete_produto.php?id=<?php echo $produtos[$i]["0"]; ?>" class="btn btn-danger" onclick="return confirm('Deseja realmente deletar?')" title="Deletar">
                        <i class="fas fa-trash"></i>
                    </a>
                </td>
            </tr>
            <?php } ?>
        </table>
        <?php 
            if(empty($produtos)) {
         ?>
             <div class="alert alert-info text-center">Não foram encontrados produtos cadastrados.</div>
        <?php } ?>

<?php include('../layout/footer.php'); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa fazer um INNER JOIN na sua consulta para apresentar o nome, no exemplo abaixo estou considerando que você tenha uma tabela categoria 

SELECT P.idProduto AS idProduto, P.idCategoria AS idCategoriaProduto,   P.nomeProduto AS nomeProduto, C.idCategoria AS C.idCategoria,  C.nomeCategoria AS nomeCategoria FROM produtos AS P INNER JOIN tabelaCategorias AS C ON P.idCateoriaProduto = C.idCategoria   WHERE nome LIKE '%$busca%' ORDER BY id DESC

 

E na hora de exibir os campos tu coloca os alias tipo nomeProduto, nomeCategoria

Seria mais ou menos, pelo que entendi, estuda direitinho pois escrevi o código sem testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.