Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DougCoder

Puxar dados de linha da tabela html <td> em botão editar e jog

Recommended Posts

Boa noite a todos,

 

Título: Puxar dados de linha da tabela html td em botão editar e jogar no option

 

Tenho uma tabela em html com 7 colunas das quais puxam informações do banco quando realizo uma busca.

 

No entanto, preciso editar os dados que tenho no banco e para isso preciso adicionar um botão editar em cada linha.

 

Para isso, adicionei mais uma coluna chamada Ações.

 

Nas ações, desejo colocar o Editar, porém seria interessante que eu tivesse o adicionar e excluir/inativar junto. Atualmente estas opções se encontram em outra page, meio bagunçado. Então para o usuário não ficar rodando de page em page, faz a busca e acessa outra page para editar os dados ou adicionar/inativar dados, preciso jogar estas ações na mesma page da busca!

 

Como eu consigo pegar os dados da linha específica <td> onde está o botão editar e permitir que o usuário possa editá-los?

 

OBS IMPORTANTE PARA SIMPLIFICAR, (acredito eu):

 

Tenho 6 select's e um campo text que são os headers da tabela, cada select é uma informação (editora, autor, tema, etc). E o text é o nome do arquivo.

 

Se eu conseguir clicar no botão editar e jogar os dados da linha a ser editada dentro dos select <option>, fica mais prático, pois dai é só eu pegar e selecionar outra informação naquele select e clicar em atualizar(botão que ainda nao existe) e ele atualiza aquele dado daquela linha, ou seja, edita a editora do meu arquivo, edita o autor OU OS AUTORES... Lembrando que, meu arquivo pode ter 1 editora apenas (1:N) e os demais campos podem ter 1 a 5 dados, pois são (N:N), ou seja... Um arquivo pode ter apenas 1 editora, porém pode ter 3 disciplinas, 2 autores, 5 palavras chaves...

 

Sendo assim, acredito que a forma mais fácil e inteligente de fazer esse editar arquivo, seria jogando os dados da linha de volta para o select, pois para inserir o arquivo no banco, todos os dados que realizo na busca, são inseridos através deste select que permite 1 a 5 informações onde são N:N.

 

Caso eu não tenha sido meio claro, me avisem =x

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos,

 

Alguém tem mais ou menos idéia se é possível? Resumidamente de forma mais clara abaixo:

 

Tenho alguns combobox para o usuário selecionar algumas informações, onde alguns são apenas 1 campo a ser selecionado e outros podem ter até 5 dados selecionados.

 

Ele pode selecionar cada um e no final de tudo inserir a informação no banco, todas relacionadas. E eu listo em uma tabela estas informações.

 

Como faço para retornar a linha da tabela (ao clicar no botão editar) para retornar os dados de volta para o combobox?

 

A idéia é, ao clicar no botão editar, ele jogue os dados daquela linha da tabela para os combobox's novamente e ai basta ele alterar a informação do combobox que ele deseja alterar e clicar em atualizar para salvar a alteração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegue o ID do registro do registro e passe para a página de edição, na página de edição você resgata os dados do BD e verifica quantos registros retornam, assim saberá quantos combos precisará montar, ai basta fazer um verificação para já deixar selecionado o valor correto em cada combo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegue o ID do registro do registro e passe para a página de edição, na página de edição você resgata os dados do BD e verifica quantos registros retornam, assim saberá quantos combos precisará montar, ai basta fazer um verificação para já deixar selecionado o valor correto em cada combo.

 

Não há uma página de edição separada.

 

Por exemplo, o usuário com permissão mais elevada, acessa a página onde os dados retornam com uma coluna a mais na tabela, esta é a coluna chamada Ações. Nesta coluna existe o botão Editar. Quando ele clica em editar, deveria jogar os dados daquela linha específica da tabela para os combobox.

 

Ou seja, cliquei no botão editar do arquivo ESerra.pdf, o autor é ESerra, a editora é iMasters e as disciplinas são PHP, CSS, JS, por exemplo.

 

Ao clicar no botão, estes dados devem ser adicionados nos combobox's existentes nesta mesma página. Tipo:

 

combobox-autor = $linha['id-autores'] //autores da tabela selecionada e tals.

 

A minha dificuldade é manipular estes dados de um retorno do banco para o elemento combobox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, neste caso eu usaria a ajax para montar todo o formulário com os combos e já faria a inserção destas informações "prontas" nas página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, neste caso eu usaria a ajax para montar todo o formulário com os combos e já faria a inserção destas informações "prontas" nas página.

 

Boa noite amigo,

 

Apanhei feio pro ajax e acabei conseguindo fazer de outra forma, mais ou menos igual a dúvida do Beraldo la em 2008, rsrs. Dei uma analisada no tópico dele aqui = http://forum.imasters.com.br/topic/265567-resolvidomudar-o-valor-de-um-select-com-javascript/

 

E fiz da seguinte forma:

        function retorna_combobox(dado) {
            var combo = document.getElementById("selautor");                                                  

            for (var i = 0; i < combo.options.length; i++){
                if (combo.options[i].value == dado) {        
                    combo.options[i].selected = "true";            
                    break; //acho que vou ter que comentar pq eu terei um array(dado) AS VEZES
                }                
            }                  
        }

No botão ATUALIZAR (com exemplo apenas de autor AUT_ID):

<!-- Ações -->
<td>
   <button  type="button" name="ATUALIZAR" class="btn btn-info" onclick="retorna_combobox(<?=$linha["AUT_ID"]; ?>)" > Atualizar </button> 
</td>   

Ele consegue fazer o combobox receber o autor que eu quero! Porém, ele não mostra isso na página. Eu até pensei que não estava funcionando... Eu descobri que "funcionou" pelo seguinte motivo:

 

Eu clicava no botão atualizar e não dava nenhum erro, parecia tudo tão certo, pois ao fazer alert(); das informações, aparecia todos os dados corretos. Então eu peguei e cliquei em Atualizar e depois selecionei um autor nada a ver no meu combobox, ai ele mostra o autor que eu passei via Atualizar e o que eu selecionei manualmente.

 

Por exemplo, passei via atualizar retorna_combobox(Autor1); e apareceu la:

 

Autores:

Autor1, Autor2

 

OK, então a função realmente seleciona a informação dentro do combobox. Mas ela visualmente não mostra isso, porque ela fica apenas com o nome "Não Selecionado" por padrão do bootstrap-select que estou utilizando.

 

Se eu fizer o seguinte:

var comboNome = document.getElementById("selautor").selectedIndex;            
    if(comboNome < 0) 

        //então ele está Não Selecionado !!!

O problema é que, eu não consigo mostrar no combobox que ele está selecionado o Autor1 e/ou Autor2, Autor3....

Ele visualmente fica escrito Não Selecionado.

Mas como eu estou utilizando o JS para alterar o elemento option dele, não faz sentido ele não alterar visualmente o valor. O que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por babylon
      Olá galera tudo bem?
      Deixa eu perguntar, estava mexendo no meu site e queria adicionar em html essa tabela porem esta dando erro pois fica assim:
       

      Porem gostaria que ficasse assim:

      Segue o código da tabela:
      <center><table border="0">
          <tr>
      <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Bicicleta<br> <font color="#0092df">..</font>Track Bikes<br> <font color="#0092df">..</font>Aro 29 TKS</b></a></span><br><br><font size="5"><center><span style="background-color: #A1CD44">DE:</span></font> <br><font size="5"><s>R$ 1.999,99</center></font></s> </td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itembicicleta.jpg"><br><font size="5"><center><span style="background-color: #A1CD44">COM - 60%:</span></font> <br><font size="5">1.199,99</font></center></a></td>
             <td><font color="#ffffff">....</font></td>
              <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Monitor 24"<br> <font color="#0092df">..</font>Samsung<font color="#0092df">aa.aa</font><br> <font color="#0092df">..</font>1ms 144hz</b></a></span></center></td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itemmonitor.jpg"></a></td>
          </tr>
          </table></center>
      O que estaria errado, pois não sei como colocar nessa tabela outro fundo de outra cor, veja que usei td bgcolor="#0092df" para o azul escuro mas não sei como usaria pro "#e4f1fb" para o fundo ficar de azul claro em baixo bem como não ficou correto em altura o "DE:" com o "COM - 60%:".
      Bom é isso, obg.


    • Por clovis.sardinha
      Bom dia.
      Meu problema é o seguinte:
      Estou fazendo uma tabela e preciso mostrar o usuário e várias cidades que pertencem a este usuário.
      O resultado do array é o seguinte:

      Quando passo para a tabela os valores de cidade se repetem para o mesmo usuário até o final e retorna fazendo o mesmo para o próximo usuário. 
      Veja abaixo

       
      Meu código para a tabela é a seguinte:
      <tr> <td align="left"><?php echo $usuario['nome'] ?></td> <td align="left"><?php echo $usuario['nome_orgao'] ?></td> <td align="left"><?php echo $usuario['nome_funcao'] ?></td> <?php foreach($destinos as $key=>$destino):?> <?php $key=0;?> <td align="left"> <?php foreach($destino as $chave=> &$cidade): ?> <?php echo $cidade['cid_nome']."-";?> <?php endforeach;?> </td> <?php $key+=$key; ?> <?php endforeach;?> <td><?php echo date('d/m/Y', strtotime( $usuario['created_at'])) ?></td> <td align="left"><a href="<?php echo base_url('UserAdmin/Usuario/getUsuarioById')."/".$usuario['id_user'] ?>">DETALHES</a></td> </tr> <?php endforeach ?> Onde estou errando? O que tenho de fazer para percorrer este array de modo a aparecer apenas as cidades pertencentes a cada usuário?

    • Por Alessandro Bodão
      Eai pessoal!
       
      Estou trabalhando em um site WordPress do qual foi me passado a versão demo de um tema (Ample).
       
      O problema é o seguinte: Parece não existir nenhum lugar onde eu tenha acesso pra editar todos os textos e conteúdos (Ex: Os textos padrões do tema parecem ser inacessíveis).
       
      Já fucei praticamente todo o wp-admin e os demais painéis e nada... Já tentei baixar o plugin  Elementor pra ver se me facilitava nisso e nada... Já tentei ver se conseguia achar esses conteúdos e editar pelo código das páginas php do tema e nada. Não sei mais o que fazer, por gentileza peço ajuda.
       
      Tema: https://themegrilldemos.com/ample/
      Site: https://onecv.com.br/
       

    • Por Rodrigo V
      Boa tarde pessoal, sou novo aqui e não sei se o conteúdo que estou postando está no lugar correto.
      Estou com uma dúvida no ajax de uma requisição onde o retorno do banco popula o meu select, mas o problema é que  meu select devido possuir muitos dados ( em torno de 3000 options) quando retorna o navegador da uma leve travada mas no navegado do celular(com android 9) e trava ao ponto de ter que fechar aplicação. Acredito que teria que fazer um option que carregue por demanda algo assim, mas não sei se o meu pensamento está correto, e se estiver não sei como fazer... se alguém conseguir me ajudar agradeço. segue abaixo  códigos:
       
      onde é populado o select
                 <div class="col-md-2">             <select class="btao1" id="resultados"></select>             <input id="btao1" type="submit" value="Conferir" />           </div>  
      requisicao ajax
      <script>   $(document).ready(function() {     select_resultados()     });     function select_resultados() {     $.ajax({       url: 'select_resultados.php',       method: 'GET',       success: function(dados) {         $('#resultados').html(dados);       }     });   }   </script>  
      pagina php que busca no banco 
       
      $query_select = "SELECT * FROM resultados ORDER BY id DESC"; $result_select = $connect->prepare($query_select); $result_select->execute();   while($resultado_select = $result_select->fetch(PDO::FETCH_ASSOC)){     extract($resultado_select);     echo '         <option value='.$id.'>'.$name.'</option>'; }  
       
    • Por MarceloEBM
      Baixei a tabela do melhorenvio e adaptei para o formato da webcontinental que eles disponibilizam, enviei para o gerente de conta e ele disse que rodou, não atualizou e não tem nenhuma mensagem de erro pra me passar.
       
      Posso estar fazendo errado, alguém tem alguma experiencia com esta tabela de frete?
×

Informação importante

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