Ir para conteúdo
juliosertori

[Resolvido] Dúvida com Query um pouco Complexa!

Recommended Posts

Bom dia galera, seguinte, tenho uma listagem no meu sistema que é o seguinte.

 

Produto | Categorias | ( Atributos ) - Esses atributos, são de um While de atributos existentes. Ficando assim:

Camiseta | Masculinas | Tamanhos | Cores

 

Até ai tudo bem, nesse caso, vou precisar pegar dados de 4 tabelas. ( Produtos, Categorias, Atributos, Produtos_Atributos, Atributos_Valores )

 

Tabela "produtos".

 

image.thumb.png.2d926e5dfbcfd3c438329479d2a30f1c.png

 

Tabela "categorias".

image.png.e1d28bfa72649b8dd4c10ad1073bd2e9.png

 

Tabela "produtos_atributos".

image.png.24d7bb60cc3b19fe9d7ff0ab49e18d18.png

 

Tabela "atributos".

image.png.efcfba6d915b3867b95c3f2d7eba6d3b.png

 

Tabela "atributos_valores".

image.png.7f6d737dcea331876a3bb46322dbc283.png

 

Notando que na tabela "produtos_atributos" os atributos e valores, são atribuídos pela coluna "atr_valores", sendo por exemplo 1:2, significando que esse produto, tem o atributo tamanho, M, e a quantidade.

 

Poderia fazer vários looping no PHP e pegar os valores sem problema, só que acredito que haja como fazer isso apenas com o MySQL, para ficar mais leve, pois na hora de carregar a listagem vai ficar muitas execuções.

 

Como fazer para pegar então, nome do produto, nomes das categorias, os atributos, os valores de cada atributo, quantidade.

 

Para listar dessa forma:

image.thumb.png.ec782769ecab1141c04499544e33b0d2.png

 

Vai ser de grande ajuda a opinião e sugestão de vocês.

 

Muito obrigado desde já!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @juliosertori.

 

Acredito que produtos_atributos não deveria ter uma coluna (atr_valores) com valores compostos.

Na minha opinião, você deveria desmembrar esses valores em duas colunas: chave (ou id_atributo) e valor. Depois você cria uma linha para cada atributo de cada produto.

 

No caso, ao invés de uma string com "1:2,6:0", você teria duas linhas:

-> id_atributo: 1 / valor: 2

-> id_atributo: 6 / valor: 0

 

Dessa forma você consegue filtrar, selecionar, buscar, tratar, processar, etc. Tanto na aplicação, quanto no banco.

 

Daí você me pergunta: e a quantidade? Bom, aí mora outro problema. Como você precisa quantificar composições de atributos e não apenas atributos, acredito que esteja faltando uma tabela auxiliar nessa modelagem...

 

Então eu voltaria atrás no que eu disse e sugeriria a seguinte tabela:

produtos_composicoes_atributos( #id, &produto, &id_atributo, &id_valor_atributo, cod_barras )

Obs: você não precisa de &empresa, pois &produto já está associado a uma empresa (na tabela produtos).

 

E aí a nossa atual produtos_atributos eu alteraria para ficar dessa forma:

produtos_estoque( #id, &composicao, quantidade, ... )

Obs: Note que não coloquei &produto ou &empresa, pois &composicao já possui essas informações.

 

Enfim, espero ter ajudado... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi sim amigo sua ideia e agradeço muito, o maior problema é que o sistema já está praticamente todo formulado dessa forma, e mudar a estrutura do banco significaria uma mudança geral no cadastro de produtos, atributos, quantidades, vendas, etc.

 

Da forma que está, existe alguma possibilidade de efetuar uma Query que consiga capturar os dados que disse anteriormente?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom.. SQL é quase uma linguagem de programação.

Você pode usar IF, CASE, REPEAT, SUBSTR, LOCATE, SUBSTRING_INDEX (e outras funções/operadores para manipular a consulta e strings) e ainda pode aliar isso com FUNCTIONS ou STORED PROCEDURES.

 

Você ainda poderia criar consultas com LIKE '%$id_atributo:$id_valor_atributo%' para buscar por produtos com determinados atributos.

 

A questão é: compensa? E não digo apenas o tempo para construir essas gambiarras, mas também o custo na performance da aplicação. =/

Eu não pensaria duas vezes em refazer esse trecho. Você só tem a ganhar.

 

De qualquer forma, sugiro que dê uma olhada no manual para ver se alguma função lhe ajuda:

https://dev.mysql.com/doc/refman/8.0/en/string-functions.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, me diz uma coisa, na experiência de vocês, o que ficaria com melhor desempenho?

 

Fazer uma busca utilizando apenas o SQL, mesmo de forma complexa, ou utilizar o PHP para pegar separadamente e "unir" no Front?

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, juliosertori disse:

o que ficaria com melhor desempenho?

Depende inteiramente de como você criou a solução e e especificamente o que você está processando no banco.

Eu particularmente sempre evito usar o banco como "gestor de mecânicas da aplicação". Gatilhos/Triggers por exemplo, sempre dou preferência para fazer na aplicação e não no banco.

 

Além disso, não sei qual a linguagem de programação você adotou, mas eu particularmente acho muito mais fácil otimizar código do que consultas complexas. Você pode utilizar profilers / testes de carga, gerar logs, cachear informações, tudo a seu controle.

E no final ainda pode/deve escalar (tornando a performance mais uma variável de custo do que de tempo de carregamento).

 

Infelizmente só medindo na prática você conseguiria saber qual solução é mais eficiente, então eu sugiro que trilhe o caminho que lhe seja mais confortável de manter depois.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema de campos multivalirados  como o atr_valores é que complicam queries que deveriam ser banais.

 

Vou na linha diferente do Matheus , prefiro sempre as soluções de BD , nem sempre são as melhores , caso de Sistema multi-plataforma por exemplo.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado por compartilhar informações e conhecimento de vocês. Me sinto mais confortável fazer direto na aplicação e vou seguir esse caminho então.

 

Grande abraços.

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 felone
      galera estou tendo esse erro 
      INSERT INTO gw_setoresimpressao (descricao, idloja) VALUES ('', '')Incorrect integer value: '' for column 'idloja' at row 1
      Ocorreu um erro na execução do Comando SQL no banco de dados
      <?php header('Access-Control-Allow-Origin: *'); header("Content-Type: text/html; charset=UTF-8", true); require_once 'classes/cls_db.php'; include 'classes/gravar.php'; include 'classes/alterar.php'; include 'classes/excluir.php'; include 'classes/jsongrid.php'; if (isset($_GET ['acao'] )){     $acao = $_GET['acao'];     }else{         $acao = "";     } if (isset($_GET ['id'] )){     $id = $_GET['id'];     }else{         $id = "";     }     if (isset($_GET ['descricao'] )){     $descricao = $_GET['descricao'];     }else{         $descricao = "";     }  if (isset($_GET ['idloja'] )){     $idloja = $_GET['idloja'];     }else{         $idloja = "";     } if (isset($_GET ['codigo_operador'] )){     $codigo_operador = $_GET['codigo_operador'];     }else{         $codigo_operador = "";     }     if (isset($_GET ['nome_operador'] )){     $nome_operador = $_GET['nome_operador'];     }else{         $nome_operador = "";     }      if($acao == "gravar"){     try {         $gravar = new gravar();                  $gravar->id = $id;         $gravar->descricao = $descricao;         $gravar->idloja = $idloja;         $gravar->codigo_operador = $codigo_operador;         $gravar->nome_operador = $nome_operador;                  $json = $gravar->gravar();         echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } } if($acao == "alterar"){     try {       $alterar = new alterar();              $alterar->id = $id;       $alterar->descricao = $descricao;       $alterar->idloja = $idloja;       $alterar->codigo_operador = $codigo_operador;       $alterar->nome_operador = $nome_operador;              $json = $alterar->alterar();       echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } } if($acao == "excluir"){     try {       $excluir = new excluir();              $excluir->id = $id;              $json = $excluir->excluir();       echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } } if($acao == "jsongrid"){     try {       $json = jsongrid();       echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } }  
       
      <?php header('Access-Control-Allow-Origin: *'); header("Content-Type: text/html; charset=UTF-8", true); require_once 'cls_db.php'; class gravar {     public $descricao;     public $idloja;     public $datahora;     public $codigo_operador;     public $nome_operador;     public $id;          function gravar(){         date_default_timezone_set('America/Sao_Paulo');         $this->datahora = date('Y-m-d H:i:s');         $json = array();         $objDb = new cls_db();         $link = $objDb->conecta_mysql();         $consulta = $objDb->MysqlExecuta("SELECT * FROM gw_setoresimpressao WHERE descricao='$this->descricao' AND idloja='$this->idloja'");         $resultado = mysql_num_rows($consulta);         $valor = 0;         if ($resultado == $valor) {             $objDb->MysqlExecuta("INSERT INTO gw_setoresimpressao (descricao, idloja) VALUES ('$this->descricao', '$this->idloja')");             $objDb->MysqlExecuta("UPDATE gw_setoresimpressao SET datahora='$this->datahora', codigo_operador='$this->codigo_operador', nome_operador='$this->nome_operador' "                     . "WHERE descricao='$this->descricao' AND idloja='$this->idloja'");             return true;         }  else {             return false;         }     } } 
       
      esse é o meu codigo, me ajudem por favor 
    • Por luanda
      Eu queria saber como posso mostrar apenas as reservas feitas pelo usuário logado, pois tentei um monte de código e nenhum deles funcionou. Tentei declarando uma session com o ID, que até pegou, porém exibiu informações de outro usuário. 
       
      Lembrando que posso reservar com nome, sobrenome, e-mail e telefone.
      <?php session_start(); if($_SESSION['nivel'] == "usuario"){}else{ header("Location:../login.php"); exit; } include "php/conexao.php"; $query = mysql_query ("SELECT * FROM cadastro WHERE username = '{$_SESSION['username']}' AND id='{$_SESSION['id']}' AND senha = '{$_SESSION['senha']}'") or die(mysql_error()); $usuario = mysql_fetch_assoc($query); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Page Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" media="screen" href="css/index.css" /> </head> <body> <!-- header --> <header id="header"> <h2>Painel administrativo</h2> </header> <!-- sidebar --> <aside id="sidebar"> <div class="links"> <h2><?php echo $usuario['username']; ?></h2> </div> <div class="links"><div style="cursor: pointer;"><a onclick="mostra('conta');">Conta</a></div></div> <div class="links"><div style="cursor: pointer;"><a onclick="mostra('reserva');">Reserva</a></div></div> <div class="links"><a href="php/logout.php">Sair</a></div> </aside> <!-- conteudo --> <div id="content"> <div id="conta"> <div class="tabela"> <table width="100%" border="1"> <tr> <td align="center" valign="middle" bgcolor="#FFFFFF">Nome:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">E-mail:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Telefone</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Mensagem:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Data:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Editar:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Excluir:</td> </tr> <?php $query = mysql_query("SELECT * FROM cadastro WHERE username ='{$_SESSION['username']}'"); while ($linha = mysql_fetch_array ($query)){ ?> <!-- esse é para exibir as informações da conta; funciona normalmente --> <tr> <td height="45" align="center" valign="middle" bgcolor="#FFFFFF"><?php echo $linha ['nome']?></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><?php echo $linha ['email']?></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><?php echo $linha ['username']?></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><a href="formeditclientes.php?username=<?php echo $linha ['username']?>"></a></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><a href="eliminar.php?username=<?php echo $linha ['username']?>"></a></td> </tr> <?php } ?> </table> </div> </div> <div id="reserva" style="display:none;"> <div class="tabela"> <table width="100%" border="1"> <tr> <td align="center" valign="middle" bgcolor="#FFFFFF">Nome:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">E-mail:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Telefone</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Mensagem:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Data:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Editar:</td> <td align="center" valign="middle" bgcolor="#FFFFFF">Excluir:</td> </tr> <?php $query = mysql_query("SELECT * FROM reserva"); while ($linha = mysql_fetch_array ($query)){ ?> <!-- esse é o da reserva; que eu editei agora para aparecer todos, mas que eu gostaria que mostrasse apenas a do usuário logado --> <tr> <td height="45" align="center" valign="middle" bgcolor="#FFFFFF"><?php echo $linha ['nome']?></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><?php echo $linha ['email']?></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><?php echo $linha ['telefone']?></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><a href="editar_reserva.php?id=<?php echo $linha ['id']?>"></a></td> <td align="center" valign="middle" bgcolor="#FFFFFF"><a href="eliminar_reserva.php?id=<?php echo $linha ['id']?>"></a></td> </tr> <?php } ?> </table> </div> </div> </div> </body> <script> function mostra(theId){ var theArray= new Array('conta', 'reserva'); w=document.getElementById(theId) if(w.style.display=="block"){}else{ for(i=0; i<theArray.length; i++){ if(theArray[i] == theId){ w.style.display='block'; }else{ document.getElementById(theArray[i]).style.display='none'; } } } } </script> </html>  
    • Por jonata paulino
      SELECT e.*, e.CO_ESCOLA, es.CO_ENTIDADE FROM enem20162 e LEFT JOIN escolas es ON e.CO_ESCOLA = es.CO_ENTIDADE GROUP BY e.CO_ESCOLA; Estou fazendo esta consulta ai a cima para o retornar os alunos que estão matriculados em uma escola, porém, fica só rodando e não completa a execução. Informando que essas duas tabelas estão no mesmo banco e eu não fiz a junção através de chave primária e estrangeira. Não sei se está correto.
    • Por teteuvec
      Prezados boa tarde,
       
      Estou tentando escrever na tela o resultado de um select na tela utilizando WHILE, porém está entrando em loop infinito e gostaria de ajuda para acertar a sintaxe desta técnica.
       
       
      Código apenas com 1 WHILE
      <?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = 1 order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($Recordset2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$Recordset2["name"]."</br>"; echo "CPF/CNPJ: ".$Recordset2["cpf_cnpj"]."</br>"; echo "e-mail: ".$Recordset2["email"]."</br>"; echo "Celular: ".$Recordset2["cellphone"]."</br>"; echo "Telefone: ".$Recordset2["telephone"]."</br>"; echo "Documento de identificação: ".$Recordset2["name"]."</br>"; echo "</br>"; }?>  
       
      Código inteiro:
      <?php session_start(); $_SESSION['last_page'] = $_SERVER['PHP_SELF']; $_SESSION['del_message'] = 'Deseja excluir o cliente '; $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $_SESSION['id_base'] = 'id'; require_once('connections.php'); $query_Recordset1 = "SELECT * FROM {$_SESSION['table_base']} WHERE record_caracter_id = '0' order by {$_SESSION['id_base']} DESC"; $Recordset1 = mysqli_query($connect, $query_Recordset1) or die(mysql_error()); $row_Recordset1 = mysqli_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysqli_num_rows($Recordset1); ?> <!doctype html> <html lang='pt-br'> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tupã - Serviços de Engenharia</title> <link href='css/sistema.css' rel='stylesheet' type='text/css' media='all'> <style type="text/css"> #cnpj { display: none; } #contato { display: none; } #endereco { display: none; } </style> </head> <body> <fieldset> <legend>Gerenciamento de Clientes</legend> <table id="tabela"> <thead> <tr> <th>Descrição</th> <th>Contato</th> <th>Projetos</th> <th colspan="3">Ação</th> </tr> <tr> <th></th> <th></th> <th></th> <th colspan="3"><input type="submit" value="Filtrar" /> | <input type="button" onclick="javascript: location.href='#rec_openModal'" value="Adicionar" /></th> </tr> </thead> <?php while ($Recordset1 = $row_Recordset1){?> <tr> <td bgcolor="#F5F5F5"><p> Código: <?php echo $Recordset1['id']; ?> <br /> Cliente: <?php echo $Recordset1['name']; ?> <br /> CPF/CNPJ: <?php echo $Recordset1['cpf_cnpj']; ?> <br /> e-mail: <?php echo $Recordset1['email']; ?> <br /> Celular: <?php echo $Recordset1['cellphone']; ?> <br /> Telefone: <?php echo $Recordset1['telephone']; ?> <br /> Documento de identificação: <?php if(file_exists('imagens/clients/energy_bill/'.$Recordset1['id'].'.jpg')) { echo 'Documento de identificação: <a href=imagens/clients/energy_bill/'.$Recordset1['id'].'.jpg target="_blank"><img src="imagens/view.png" width="24" height="24">'; } else { echo 'Documento de identificação: indisponível'; } ?> </p></td> <td bgcolor="#F5F5F5"><?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = 1 order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($Recordset2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$Recordset2["name"]."</br>"; echo "CPF/CNPJ: ".$Recordset2["cpf_cnpj"]."</br>"; echo "e-mail: ".$Recordset2["email"]."</br>"; echo "Celular: ".$Recordset2["cellphone"]."</br>"; echo "Telefone: ".$Recordset2["telephone"]."</br>"; echo "Documento de identificação: ".$Recordset2["name"]."</br>"; echo "</br>"; }?> </td> <td bgcolor="#F5F5F5"><?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'projects_link_tpm'; $query_Recordset3 = "SELECT * FROM {$_SESSION['table_base']} where people_record_id = {$row_Recordset1['id']} order by {$_SESSION['id_base']} DESC"; $Recordset3 = mysqli_query($connect, $query_Recordset3) or die(mysqli_error($connect)); $row_Recordset3 = mysqli_fetch_assoc($Recordset3); $totalRows_Recordset3 = mysqli_num_rows($Recordset3); while($data3 = mysqli_fetch_assoc($Recordset3)) { echo "Projeto: ".$Recordset3["id"]."</br>"; echo "</br>"; }?> </td> <td width="3%" bgcolor="#F5F5F5"><form action="mysql/update_process.php" method="POST"> <input type="hidden" name="update_process" value="<?php echo $row_Recordset1[$_SESSION['id_base']] ?>"> <input type="image" name="submit" src="imagens/edit.png" width="24" height="24"> </form></td> <td bgcolor="#F5F5F5"><form action="mysql/del_process.php" method="POST"> <input type="hidden" name="delete_process" value="<?php echo $row_Recordset1[$_SESSION['id_base']] ?>"> <input type="hidden" name="delete_register" value="<?php echo $row_Recordset1['name'] ?>"> <input type="image" name="submit" src="imagens/delete.png" width="24" height="24"> </form></td> </tr> <?php }?> </table> </fieldset> <div id="rec_openModal" class="modalDialog"> <div> <a class="close" title="Fechar" href="#close">X</a> <fieldset> <legend>Realizar cadastro</legend> <br> <label>Modalidade:</label> <select name="modality" onChange="mostraDiv(this.value)"> <option value="1">Cliente CPF</option> <option value="2">Cliente CNPJ</option> <option value="3">Contato de cliente</option> <option value="4">Endereço de cliente</option> </select> <br /> <div id="cpf"> <form action="mysql/insert_process.php" method="post" id='1'> <br> <label>Nome: </label> <input name='name' type='text' /><br /> <br> <label>CPF: </label> <input name='cpf_cnpj' type='number' data-mask='000.000.000-00' /><br /> <br> <label>e-mail: </label> <input name='email' type='text' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="(00)0000-0000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' data-mask='(00)00000-0000' autocomplete='off' /><br /> <br> <label>Documento de identificação: </label> <input type='file' name='doc_id'><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="0"><INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="cnpj"> <form action="mysql/insert_process.php" method="post" id='2'> <br> <label>Nome da empresa: </label> <input name='name' type='text' /><br /> <br> <label>CNPJ: </label> <input name='cpf_cnpj' type='text' data-mask="00.000.000/0000-00" /><br /> <br> <label>e-mail: </label> <input name='email' type='email' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="00000-000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' /><br /> <br> <label>Documento de identificação: </label> <input name='doc_id' type='file' /><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="0"><INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="contato"> <form action="mysql/insert_process.php" method="post" id='3'> <br> <label>Nome: </label> <input name='name' type='text' /><br /> <br> <label>cpf: </label> <input name='cpf' type='number' data-mask='000.000.000-00' /><br /> <br> <label>e-mail: </label> <input name='email' type='text' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="(00)0000-0000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' data-mask='(00)00000-0000' autocomplete='off' /><br /> <br> <label>Documento de identificação: </label> <input type='file' name='doc_id'><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="1"><br> <label>Contato do cliente </label> <select name="link_record"> <?php while ($data = mysqli_fetch_array($Recordset1)) { echo("<option value='".$data['id']."'>".$data['name']."</option>"); } ?> </select><br /> <INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="endereco"> <form action="mysql/insert_process.php" method="post" id='4'> <br> <label>CEP: </label> <input name='cep' type='text' /><br /> <br> <label>Logradouro: </label> <input name='address' type='text' data-mask="00000-000" autocomplete="off" /><br /> <br> <label>Número: </label> <input name='number' type='text' /><br /> <br> <label>Bairro: </label> <input name='neighborhood' type='text' /><br /> <br> <label>Cidade/UF: </label> <input name='city' type='text' /><input name='uf' type='text' /><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="4"><INPUT TYPE="hidden" NAME="action" VALUE="1"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> </fieldset> </div> </div> </body> </html> <?php mysqli_free_result($Recordset1); mysqli_free_result($Recordset2); mysqli_free_result($Recordset3); ?>  
    • Por aronrissato
      Boa tarde,

      Tenho um banco de dados de uma empresa na plataforma Oracle SQL. Temos 3.992 tabelas nesse banco, e eu precisava verificar uma informação que não sei em qual tabela está.
      Pelo menos para facilitar minha procura, algumas dessas tabelas não possuem registros. Então precisava descobrir:

      Tem alguma forma de filtrar as tabelas que não possuem registro em um banco?

      Para que possa olhar somente nas que possui alguma informação.

      Desde já agradeço!
      Att,

      Aron Rissato
      aron_0.4@hotmail.com
×

Informação importante

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