Jump to content
Fórum Script Brasil
  • 0

Cadastro de produto dando errado


Valmir Junior
 Share

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...