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

      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.

  • Conteúdo Similar

    • Por leo_santo1
      Venho por meio desse post procurar ajuda com meu código!
      Estou fazendo um código usando `DataTable` , sou iniciante na programação, depois de umas pesquisas e até mesmo algumas dicas conseguir construir uma DataTable com banco de dados.
      Continuando minhas pesquisas para aprimorar mais ainda o código, percebi que a  `DataTable` possuir varias funções interessantes, umas delas em especifico chamou bastante minha atenção e até me ajudaria no código que no caso é o uso de Linhas filhas ocultas, que quando fazemos o click em cima de um botão aparece as informações extras da linha ( no caso os dados a mais do banco ) e ao apertar ela novamente ele oculta as informações.
      Gostaria de ajuda para criar essa função na minha Tabela, já realizei pesquisas no próprio site da  `DataTable` , aqui, porem não entendo bem o jeito que eles explicam.
      segue abaixo meu código da table e da  `DataTable` que conecta com o Banco.
       
      Tabela
      <table id="employee-grid" cellpadding="0" cellspacing="0" border="0" class="display" width="100%"> <thead> <tr> <th>Nome</th> <th>CPF</th> <th>Data de Nascimento</th> <th></th> <th>Ação</th> <th></th> </tr> </thead> <thead> <tr> <td><input type="text" data-column="0" class="search-input-text" style="width: 150px;"></td> <th><input type="text" data-column="1" class="search-input-text" style="width: 150px;"></td> <th><input type="text" id="data" data-column="2" class="search-input-text" style="width: 150px;"></th> <th></th> <td> </td> <td></td> </tr> </thead> </table> Script DataTable
      $(document).ready(function() { var dataTable = $('#employee-grid').DataTable( { "processing": true, "serverSide": true, "bJQueryUI": true, "oLanguage": { "sProcessing": "Processando...", "sLengthMenu": "Mostrar _MENU_ registros", "sZeroRecords": "Não foram encontrados resultados", "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros", "sInfoEmpty": "Mostrando de 0 até 0 de 0 registros", "sInfoFiltered": "", "sInfoPostFix": "", "sSearch": "Buscar:", "sUrl": "", "oPaginate": { "sFirst": "Primeiro", "sPrevious": "Anterior", "sNext": "Seguinte", "sLast": "Último" } }, "ajax":{ url :"../Tabelas/Tabela_consulta_cliente.php", // json datasource type: "post", // method , by default get error: function(){ // error handling $(".employee-grid-error").html(""); $("#employee-grid").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>'); $("#employee-grid_processing").css("display","none"); } } } ); $("#employee-grid_filter").css("display","none"); // hiding global search box $('.search-input-text').on( 'keyup click', function () { // for text boxes var i =$(this).attr('data-column'); // getting column index var v =$(this).val(); // getting search input value dataTable.columns(i).search(v).draw(); } ); $('.search-input-select').on( 'change', function () { // for select box var i =$(this).attr('data-column'); var v =$(this).val(); dataTable.columns(i).search(v).draw(); } ); } ); Conexão DataTable com o Banco de dados
      <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "loc_equipamentos"; $conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error()); $requestData= $_REQUEST; $columns = array( 0=>'nome_usuario', 1=> 'cpf_usuario', 2=> 'data_nascimento', 3=> 'id_usuario', 4=> 'id_usuario', 5=> 'id_usuario' ); $sql = "SELECT nome_usuario, cpf_usuario, data_nascimento, id_usuario "; $sql.=" FROM usuario"; $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); $totalData = mysqli_num_rows($query); $totalFiltered = $totalData; . $sql = "SELECT nome_usuario, cpf_usuario, data_nascimento, id_usuario "; $sql.=" FROM usuario WHERE tipo_perfil = 'CLIENTE' AND ativo_usuario = 'TRUE'"; if( !empty($requestData['columns'][0]['search']['value']) ){ $sql.=" AND nome_usuario LIKE '".$requestData['columns'][0]['search']['value']."%' "; } if( !empty($requestData['columns'][1]['search']['value']) ){ $sql.=" AND cpf_usuario LIKE '".$requestData['columns'][1]['search']['value']."%' "; } if( !empty($requestData['columns'][2]['search']['value']) ){ //age $sql.=" AND data_nascimento LIKE '".$requestData['columns'][2]['search']['value']."%' "; } $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); $totalFiltered = mysqli_num_rows($query); $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." "; $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); $data = array(); while( $row=mysqli_fetch_array($query) ) { $nestedData=array(); $informacao ="<div class='botaodiv'> <a href = ?informacao=".$row['id_usuario']." >+ Informações</a> </div>"; $editar ="<div class='botaodiv'> <a href = ?editar=".$row['id_usuario']." >Editar</a> </div>"; $deletar ="<div class='botaodiv'> <a href = ../Eventos/evento.php?DesativaCadastro=".$row['id_usuario']." >Excluir</a> </div>"; $nestedData[] = $row["nome_usuario"]; $nestedData[] = $row["cpf_usuario"]; $nestedData[] = $row["data_nascimento"]; $nestedData[] = $informacao; $nestedData[] = $editar; $nestedData[] = $deletar; $data[] = $nestedData; } $json_data = array( "draw" => intval( $requestData['draw'] ), "recordsTotal" => intval( $totalData ), "recordsFiltered" => intval( $totalFiltered ), "data" => $data ); echo json_encode($json_data); ?> Fora o caso de criar Detalhes para Linhas, Caso alguém tenha alguma sugestão de como melhorar meu código ( por exemplo uma Conexão ao Banco mais simples, um Js melhor etc.. ) ou alguma critica para eu evoluir, irei agradecer bastante!  
    • Por JondasCortes
      Olá, bom dia a todos! Antes de tudo, deixo claro que sou leigo e agradeço antecipadamente pela paciência, cordialidade e ajuda.
       
      Tenho um site Wordpress com Woocommerce que possui somente 6000 visitas por mês e uma taxa baixíssima de conversão, em muito, por conta da grande lentidão do site.
      A grande questão é que tenho neste woocommerce cerca de 40.000 produtos cadastrados para venda (e preciso que continue com essa quantidade). E é isso, isso é o site, basicamente. Nada demais.
      O site está muito mal posicionado no Google.
      O banco de dados MYSQL pesa cerca  de 600 mb.
      O que fiz até aqui foi instalar o plugin de cache W3.
      Comecei em uma hospedagem compartilhada. Não rolou pois parece que a alta quantidade de postagens(produtos) pesa.
      Depois passei por duas VPNs, e não deu certo também. O site além de lento ficava totalmente instável e vivia saindo do ar. Tudo isso eu mesmo transferindo e levando na garra em hospedagens sem nenhuma adaptação específica para minha situação.
      Por último, eu fui para uma Cloud Hosting da Locaweb com banco de dados dedicado na seguinte configuração:
      4GB MEMÓRIA / 2vCPUs PROCESSAMENTO / Mysql Dedicado / 50GB espaço em disco  / Transferência ilimitada / Gerenciado por eles. (Pagando 329 reais por mês).
      Foi a única que segurou o site, embora esteja ainda bastante lento para carregar.
      A questão é que – na minha visão de leigo – intuo que dê pro site ficar mais rápido e até a hospedagem mais barata ou no mínimo – otimizada – pois o site nada mais é do que um wordpress morto com um woocommerce com 40.000 produtos cadastrados, sem grande complexidades (incialmente eu tinha cadastrado tags mas exclui todas elas pra diminuir o problema)
      Os índices das minhas páginas no PageSpeed Insights do Google estão bem ruins, girando em torno de 30. Ao desativar os plugins e deixar só o essencial dá uma ligeira melhorada, mas penso que era pra essa hospedagem aguentar.
      Simplesmente não sei o que fazer. Gostaria de uma luz, por favor.
      Enfim, minha hospedagem não é otimizada para wordpress (não sei se isso faz diferença e quanto faz) , não estou usando nenhuma CDN (será que isso poderia fazer alguma diferença mesmo eu usando uma Cloud Hosting?) .
      Não sei que tipo de serviço de otimização, ou hospedagem buscar, tendo em vista que sou leigo.
      Em suma, gostaria de saber que dicas a galera poderia me dar, no que diz respeito à esta situação.
      MUITO grato.
    • Por Rodrigo Vieira E da Silva
      Olá a todos do fórum Imasters, tudo bem?
      Minha dúvida é a seguinte:
      Eu tenho alguns páginas que desejo restringir o acesso e quero que somente os assinantes e o administrador possam ver essas páginas.
      Gostaria de fazer isso via código sem a necessidade de ter plugins em meu projeto. Alguém já fez isso ou conhece alguém que possa me ajudar.
      Fico no aguardo de um feedback, referente ao assunto acima.
    • Por Perroni91
      Olá pessoal.
      Estou com uma dúvida, mas como sou leiga no mysql, não estou conseguindo resolver.
       
      Tenho duas tabelas no meu banco de dados:
       
      Posts
      id
      titulo_principal
      categoria_id
      imagem
       
      Categorias
      id
      categoria
       
      ---

      Já cadastrei as categorias 'HTML' e 'CSS', e cada um contêm 1 post de cada.

      O que eu gostaria era que: A cada vez que criar um post em alguma dessas categorias, mostrar a quantidade separadamente.

      Ficaria assim:
      HTML               3
      CSS                   1


      Alguém poderia me ajudar, por favor?
      Estou quebrando a cabeça tentando fazer isso e não consegui.
      Obrigada!
    • Por danart5
      Bom dia! Estou fazendo um sistema de chamados, e na pagina onde o cliente envia para mim os dados do seu chamado, gostaria de trazer um aviso onde informasse o ID do chamado do mesmo.
      No banco de dados tem o campo id_ocorrencia, é auto incremente e assim que o usuário cadastra a ocorrência é cadastrado um id_ocorrencia.
      Segue o código :
       
       
      <div class="cadastro-form">         <?php             $nome_solicitante = $_POST['nome_solicitante'];             $ccusto = $_POST['ccusto'];             $equip = $_POST['equip'];             $tp_problema = $_POST['tipo_problema'];             $obs_informada = $_POST['obs_informada'];             $data_cadastro = date('Y-m-d');             $hora_cadastro = date('H:i:s');             //Conexão com o MySQL             $conn = mysql_connect('localhost','root','123456');             if (!$conn) {                 die('Could not connect: ' . mysql_error($conn));             }             mysql_select_db("osafti", $conn);             mysql_set_charset("utf8", $conn);             $sqli = mysql_query("INSERT INTO cadOcor (nome_solicitante, ccusto, equip, data_cadastro, hora_cadastro, tipo_problema, obs_informada, status) VALUES ('$nome_solicitante', '$ccusto', '$equip', '$data_cadastro', '$hora_cadastro', '$tp_problema', '$obs_informada', '0')", $conn) or die (mysql_error());             if ($sqli) {             ?>                            --------- NESSA REGIÃO É ONDE GOSTARIA DE TRAZER O ID DO CADASTRO FEITO A CIMA, É POSSÍVEL ?  ----                 <div class="alert alert-success" role="alert">                     Ocorrência cadastrada com sucesso!                  </div> <?php } else { ?> <div class="alert alert-danger" role="alert"> Erro ao cadastrar ocorrência. Tente novamente. Caso o erro persista entre em contato com o CPD. </div> <?php } mysql_close($conn); ?> </div>
×

Informação importante

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