Ir para conteúdo
Fórum Script Brasil
  • 0

Cadastro de produto dando errado


Valmir Junior

Pergunta

Boa noite, sou novo aqui no forum e tambem m php. Minha duvida crucial é: Estou criando uma area administrativa onde cadastram-se Categoria, Subacategorias e Produtos.

Os cadastros de categoria e sub categoria estão ok, indo para o BD(uso mysql), mais o de produto esta me dando uma dor de cabeça infernal. Estou usando os mesmos codigos dos outros e barro justamente na paginação onde incluo uns comandos sql e lá que acho que esta o erro. criei um crud, uma pag config para conexao, e um biblio para a paginação. O problema que cadastra mais não exibi na listagem quando eu salvo segue:

pag: lst_produto. php

<?php
        
    $ordem = $_GET["ordem"]?$_GET["ordem"]:0;
    $pesq  = $_GET["pesq"]?$_GET["pesq"]:"";
    $campo = $_GET["campo"]?$_GET["campo"]:0;
    
?>    
    <h1>Lista de Produtos</h1>
    <div class="base-lista">
        <div class="cx-lista">
        <form action="index.php" method="get" name="buscausuario" id="buscausuario">
          <table border="0">
            <tbody>
              <tr>
                <th width="16%"><strong>Buscar:</strong></th>
                <th width="60%"><input type="text" name="pesq" value="<?php echo $pesq ?>"/></th>
                <th>
                <select name="campo">
                   
                  <option value="subcategoria">produtos</option>           
                  <option value="ativo_subcategoria">Ativo (S ou N)</option>  
                   
                </select></th>
                    <input type="hidden" name="link" value="6"  />
                <th><input type="submit" name="Submit" value="" class="but" /></th>
              </tr>
            </tbody>
          </table>
        </form>


        <h2>Lista de Produtos</h2>
        <a href="index.php?link=7">Cadastrar Produtos </a>
        <p class="limpar">&nbsp;</p>
        <?php
            if($pesq !=""){
                $sql1 = "SELECT id_produto FROM produto WHERE $campo LIKE '%$pesq %'";
                $sql2 = "SELECT * FROM produto a, produto s WHERE a.id_produto = s.id_produto AND $campo LIKE '%$pesq %' ";
                $complemento = "&pesq=$pesq&campo=$campo";
            }else{
                $sql1 = "SELECT id_produto FROM produto";
                $sql2 = "SELECT * FROM categoria a, produto s where a.id_categoria = s.id_categoria ";
                $complemento = "";
            }
            $total = total($sql1);
            echo "Total: $total<br>";
            
            if($total <= 0)
            echo "Não existe dados cadastrados";
            else{ 
        ?>
        
        <table width="100%" border="0" cellpadding="2" cellspacing="2">
        <tbody>
            <tr>
              <td align="center" class="tdbc">id</td>
              <td align="center" class="tdbc">Produto</td>
              <td align="center" class="tdbc">Preço</td>
              <td align="center" class="tdbc">Ativo</td>
              <td align="center" colspan="2" class="tdbc">Ação</td>
            </tr>
            <?php
                $lpp = 5; //linhas por paginas
                $inicio = $ordem * $lpp;
                $produtos = selecionar($sql2." LIMIT $inicio, $lpp");
                    $i=0;
                    foreach ($produtos as $produto){
                        @$i++;
                    if($i%2==1)
                        $col="coluna1";
                    else
                        $col = "coluna2";
            ?>

          <tr class="<?php echo $col?>" align="center">
                      <td ><?php echo $produto["id_produto"] ?></td>
                      <td ><?php echo $produto["produto"] ?></td>
                      <td ><?php echo $produto["id_categoria"] ?></td>
                      <td ><?php echo $produto["ativo_produto"] ?></td>
                      <td ><a href="index.php?link=7&acao=Alterar&id=<?php echo $produto['id_produto'] ?>">Editar</a></td>
                      <td ><a href="index.php?link=7&acao=Excluir&id=<?php echo $produto['id_produto'] ?>" class="excluir">Excluir</a></td>            
        </tr> 
            <?php } } ?>
            </tbody>
            </table>
        
        <div class="cx-paginacao">
            <p><?php echo mostraPaginacao("index.php?link=6$complemento", $ordem, $lpp, $total)?></p><br>
            
        </div>

        <p>&nbsp;</p>
        <p>&nbsp;</p>

    </div>
    </div>

pagina form_produto.php

<h1>CADASTRO DE produtoS</h1>
        <div class="cx-form">
        <div class="cx-pd">    
 <?php

    
    $id = $_GET["id"];
    $acao = $_GET["acao"];
    
    if($id){
        $produto = consultar("produto");
        
        $categoria             = $produto[0]["id_categoria"];
        $subcategoria         = $produto[0]["id_subcategoria"];
        $txt_fabricante        = $produto[0]["fabricante"];    
        $txt_produto        = $produto[0]["produto"];
        $txt_preco_alto        = $produto[0]["preco_alto"];
        $txt_preco            = $produto[0]["preço"];
        $txt_descricao        = $produto[0]["descricao"];
        $txt_detalhes        = $produto[0]["detalhes"];
        $txt_imagem            = $produto[0]["imagem"];
        $txt_destaque        = $produto[0]["destaque"];
        $txt_ativo               = $produto[0]["ativo_produto"];
    }
?>                    

<form action="op/op_produto.php" method="post">
        
<label class="esq">
    <strong>Categoria</strong>
    <select name="txt_id_categoria">
    <option>Selecione uma categoria </option> <?php
        $categorias = consultar("categoria");
        foreach ($categorias as $categoria){
            $cod_categoria = $categoria["categoria"];
            
            if($cod_categoria == $categoria)
                    $selecionado = "selected";
            else
                    $selecionado = "";
            
            echo "<option value=$cod_categoria $selecionado>$categoria[categoria]</option>";
        }
    ?>
    
      </select>
  </label>
 
<label class="dir">
    <strong>Subategoria</strong>
    <select name="txt_id_subcategoria">
    <option > Selecione uma subcategoria</option> 
    <?php
        $subcategorias = consultar("subcategoria");
        foreach ($subcategorias as $subcategoria){
            $cod_subcategoria = $subcategoria["subcategoria"];
            
            if($cod_subcategoria == $id_subcategoria)
                    $selecionado = "selected";
            else
                    $selecionado = "";
            
            echo "<option value=$cod_subcategoria $selecionado>$subcategoria[subcategoria]</option>";
        }
    ?>        
      </select>
  </label>
 
<label class="esq">
    <strong>Fabricante</strong>
    <select name="txt_id_fabricante">
    <option value=7  > LG</option>        
      </select>
  </label>
   <label class="dir">
    <strong>Ativo</strong>
    <select name="txt_ativo" class="tm3">
        <option value="S" <?php if($txt_ativo=="S") echo "selected" ?>>Sim</option>
        <option value="N" <?php if($txt_ativo=="N") echo "selected" ?>>Não</option>
    </select>
</label> 
<label class="esq">
    <strong>Destaque</strong>
    <select name="txt_destaque" class="tm3">
        <option value="S" <?php if($txt_ativo=="S") echo "selected" ?>>Sim</option>
        <option value="N" <?php if($txt_ativo=="N") echo "selected" ?>>Não</option>
    </select>
</label> 

    
  <label>
    <strong>Título do produto</strong>
    <input type="text" name="txt_produto" id="txt_produto" value="<?php echo $txt_produto ?>" size="109"/>
  </label>
  
   <label>
    <strong>Buscar imagem</strong>
    <input type="file" name="txt_imagem" id="txt_imagem" value="<?php echo $txt_imagem ?>" size="109"/>
  </label>
  <label class="esq">
    <strong>Preço anterior</strong>
    <input type="text" name="txt_preco_alto" id="txt_preco_alto" value="<?php echo $txt_preco_alto ?>" size="109" />
  </label>
   <label class="dir">
    <strong>Valor atual</strong>
    <input type="text" name="txt_preco" id="txt_preco" value="<?php echo $txt_preco ?>" size="109" />
  </label>  

    
<label>
        <strong>Descrição</strong>
        <textarea  name="txt_descricao" id="txt_descricao"  class="ckeditor" rows="15" cols="70"><?php echo $txt_descricao ?>    </textarea>
</label>

<label>
        <strong>Detalhes</strong>
        <textarea  name="txt_detalhes" id="txt_detalhes"  class="ckeditor" rows="15" cols="70"><?php echo $txt_detalhes ?>   </textarea>
</label>

    
        <label>
        <div  class="cx-but">
            <input type="hidden" name ="id" value="<?php echo $id ?>">                            
            <input type="hidden" name ="acao" value="<?php echo ($acao!='')?$acao:'Cadastrar' ?>">                                        
            <input type="submit" name= "logar" id="logar" value = "<?php echo ($acao!='')?$acao:'Cadastrar' ?>" class="but" >        
        </div>                
        </label>
</form>

        </div>
        </div>

PAGINA: OP_PRODUTO.PHP

<?php
    ini_set('default_charset', 'UTF-8');
    include_once("../../include/config.php");
    include_once("../../include/crud.php");
    include_once("../../include/biblio.php");
    
    $id =  $_POST["id"];
    $acao = $_POST["acao"];    

    $txt_id_produto         = $_POST['txt_id_produto'];
    $txt_produto             = $_POST['txt_produto'];
    $txt_categoria             = $_POST['txt_id_categoria'];
    $txt_subcategoria         = $_POST['txt_id_subcategoria'];
    $txt_preco_alto            = $_POST['txt_preco_alto'];
    $txt_preco                 = $_POST['txt_preco'];
    $txt_descricao             = $_POST['txt_descricao'];
    $txt_detalhes             = $_POST['txt_detalhes'];
    $txt_destaque             = $_POST['txt_destaque'];
    $txt_ativo                 = $_POST['txt_ativo'];
    
    
    
    $dados  = array(
                    "id_produto"                 => $txt_id_produto,
                    "id_categoria"                 => $txt_categoria,
                    "subcategoria"                 => $txt_subcategoria,
                    "produto"                    => $txt_produto,
                    "preco_alto"                => $txt_preco_alto,
                    "preço"                        => $txt_preco,
                    "descricao"                    => $txt_descricao,
                    "detalhes"                    => $txt_detalhes,
                    "destaque"                    => $txt_destaque,
                    "ativo_produto"             => $txt_ativo
    );
        $op = false;
        $url_sucesso = URL_ADMIN . "index.php?link=6";
        $url_erro = URL_ADMIN . "index.php?link=7";        
        if($acao=="Cadastrar")
            $op = inserir("produto", $dados);
        elseif($acao=="Alterar")
            $op = alterar("produto", $dados, "id_produto = $id"); 
        elseif($acao=="Excluir")
            $op = deletar("produto", "id_produto = $id");
        if ($op)
            print "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=$url_sucesso'>
                    <script type= 'text/javascript'> alert ('Operação realizada com sucesso') </script>"; 
        else
            print "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=$url_erro'>
                    <script type= 'text/javascript'> alert ('Operação não foi realizada ') </script>"; ; 

?>
    

alguém pode me ajudar.

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!

Verifique no seu genrenciador de mysql se os dados do produto foram inseridos.

Se não foram inseridos, verifique como foi montada a query de inserção e como foi executada na sua função: inserir()

Se foram inseridos, mas não estão aparecendo na listagem, verifique a query e a execução da busca na sua função total()

Pode ser que tenha ocorrido alguma falha durante a execução de alguma dessas queries.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...