Jump to content
  • 0
markhosbh

Pegar id do link clicado em PHP

Question

Prezados, bom dia!

 

Sou iniciante no mundo Web e estou com o seguinte problema, tenho uma caixa de busca que retorna uma lista de nomes por aproximação retornada pelo banco de dados, exemplo, o usuário digita apenas o primeiro nome "Marcos" na busca e retorna todos usuário que possuem "Marcos" como primeiro nome, depois o usuário irá clicar no nome completo que deseja visualizar os detalhes relacionados ao nome.

Meu problema é, como faço para pegar o valor que foi clicado para fazer uma nova busca no banco de dados apenas com o id deste que foi clicado?
Existe essa possibilidade em PHP, consegui via javascript mas não consigo passar a varival javaScript para php.

 

Meu código está assim:

<?php
                        $parametro = 'XX';
                        if (isset ($_POST['buscar'])){
                        $parametro = $_POST['nome'];
                        }    
$consulta = "SELECT A1_COD, A1_NOME FROM SA1010 WHERE A1_NOME LIKE '%".$parametro."%'";
                            $executar = sqlsrv_query($conn, $consulta);
                            
                            $i = 0;
                            while($fila = sqlsrv_fetch_array($executar)){
                                $nome = $fila['A1_NOME'];
								$cod = $fila['A1_COD'];
                            $i++;	 
                            
                        ?>
                     <a href="">
                                <div id='busca'>    
                                    <div id='<?php echo $cod?>'> <?php echo $nome?> </div> 
                                </div> 
                            </a>

                        <?php } ?>



 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

A dinâmica deve ser feita no Javascript, o PHP só responde ao que foi pedido, o javascript quem vai interagir com o usuário.

você pode usar o evento click.

$("#objeto").click(function(){
	var e = $(this);
  	var id_user = e.attr('data-id-user');
  	var name_user = e.attr('data-name-user');
  	
  	//aqui vai a requisição
  	$.ajax(
      	data:{nome:name_user,id:id_user}, 
      	...
    );
});
//exemplo de objeto clicável
//<a href="#linkCego" data-id-user="5478" data-name-user="José da Silva Sauro" id="objeto">José da Silva Sauro</a>

 

Share this post


Link to post
Share on other sites
  • 0

Amigo,
Com Java script eu havia feito da seguinte forma:

 

<script>

$(function(){
    $('#busca div').click(function(){
        var id = $(this).attr('id');       		
    });
})
</script>

Porém eu não sei como enviar o valor obtido pela variável "id" através do formulário via POST.

Tentei inclusive passar o valor da variavel "id" do javaScript pra PHP mas retorna nulo.

 

<?php 
$variavelphp = "<script>document.write(id)</script>";
echo $variavelphp;
?>

 

Share this post


Link to post
Share on other sites
  • 0
3 horas atrás, markhosbh disse:

Amigo,
Com Java script eu havia feito da seguinte forma:

 


<script>

$(function(){
    $('#busca div').click(function(){
        var id = $(this).attr('id');       		
    });
})
</script>

Porém eu não sei como enviar o valor obtido pela variável "id" através do formulário via POST.

Tentei inclusive passar o valor da variavel "id" do javaScript pra PHP mas retorna nulo.

 


<?php 
$variavelphp = "<script>document.write(id)</script>";
echo $variavelphp;
?>

 

via ajax como no meu exemplo, aqui vai documentação ajax jquery

http://api.jquery.com/jquery.ajax/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By h1d31bb
      Olá Galera!!
      Você que quer aprender a desenhar mangás eu estou disponibilizando um curso no qual eu fiz e aprendi a desenhar também, são técnicas bem simples e é 100% garantido que você irá desenhar os personagens de animes que sempre quis ou criar o seu mesmo.
       
       
       
       
       
      http://metodofanart.com.br/vsl-fanart-2-no-delay/?ref=F15484556P

    • By Matt_Engler
      Por favor, preciso de ajuda para meu TCC onde terei que criar um site. Eis o problema, utilizei o CSS para estilizar os links do site, dessa maneira:
       
      a{
          color: white;
          text-decoration: none;
          padding: 5px 10px;
      }
      a:link{
          color: white;
      }
      a:visited{
          color: white;
      }
      a:hover{
          color: black;
          background-color: white;
      }
       
      Essa estilização foi aplicada a todos os links do site, porém, quero aplicá-la a apenas alguns links específicos (no caso, os links do top). Como faço para "isolar" a estilização de cada link?!
       
      Abaixo disponibilizo o HTML e o CSS do site, desde já agradeço!
       
       
      <!DOCTYPE html>
      <html>
      <head>
          <title>Anything</title>
          <link rel="stylesheet" type="text/css" href="css/Stil.css">
      </head>
      <body>
      <!-- Inicio do Menu -->
      <div class="haus">
          <div class="area">
              <h1 class="logo"> <span class="yellow">&emsp;<img src="Logo.png" width="325" height="50"></span> </h1>
              <div class="menu">
                  <a href="Haus.html">Haus</a>
                  <a href="#">Nachrichten</a>
                  <a href="#">Kino</a>
              </div>
          </div>n
      </div>
      <!-- Fim do menu -->
      <!-- Inicio do Conteúdo -->
      <br>
      <div class="area-principal">
          
          <div class="postagem">
              <h2><a href="#"> Título da Notícia:</a></h2>
              <span class="data-postagem">Data da postagem:</span>
              <img src="img/imagem1.png" class="img-postagem">
              <p>
                  Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
              </p>
              <span>Postado por: Fulano</span>
                  </div>
      </div>
      </body>
      </html>
       
      ================================================================================================================================================================
       
      *{
          margin: 0px;
          padding: 0px;
      }
      body{
          background-color: lightgray;
          font-size: 16px;
          font-family: "Trebuchet MS", Helvetica, sans-serif;
          color: black;
      }
      .haus{
          font-size: 25px;
          color: yellow;
          background-color: black;
          border-bottom: 7px solid gold;
          height: 50px;
          position: fixed;
          width: 100%;
          top: 0px;
      }
      .area{
          width: 720px
          margin: 0 auto;
      }
      .menu{
          float: right;
          padding: 10px 100px;
      }
      .logo{
          float: left;
      }
      .yellow{
          color: gold;
      }
      a{
          color: white;
          text-decoration: none;
          padding: 5px 10px;
      }
      a:link{
          color: white;
      }
      a:visited{
          color: white;
      }
      a:hover{
          color: black;
          background-color: white;
      }

      .area-principal{
          width: 720px;
          margin: 55px auto 10px auto;
      }
      .postagem{
          margin: 10px;
          background-color: darkgray;
          margin-bottom: 10px;
      }
      h2{
          color: gold;
          text-decoration: none;
      }
      .data-postagem{
          display: block;
          font-size: 14px;
          border-bottom: 1px solid #f4f4f4;
          padding-bottom: 10px;
          margin-bottom: 10px;
      }
      .img-postagem{
          float: left;
          margin: 0px 10px 10px 0px;
      }
      p{
          text-align: justify;
          padding: 10px;
      }
       
    • By Gustavo2503
      Eu preciso de um link para abrir um arquivo em decodificado em base64, eu fiz o link mas quando eu abro o link ele não aparece nada, o título da página fica "Sem título" e a página fica branca, vazia. E quando eu clico na URL e dou ENTER, ele aparece o meu arquivo normal. O link está assim:
      <a target="_blank" href="data:application/pdf;base64,MEU_ARQUIVO_BASE64">Arquivo</a> Como arrumar isso?
    • By Paulo Wilker
      Pessoal! 
      Estou codificando um link para o usuário se descadastrar de uma lista de emails enviados, ao clicar no link, uma mensagem de e-mail com o e-mail a descadastrar descrito deverá ir para o administrador da lista para retirá-lo manualmente. O que eu consegui até aqui é se eu enviar o link com o "descadastre-se" já com o e-mail no final:  <a href="www.meudominio.com.br/descadastra.php?email=email@email.com", aí o admin recebe e retira da lista manualmente. O que eu gostaria é que isso fosse automático, que ao clicar no link, o e-mail do usuário seja captado automaticamente sem que o admin tenha que colocar no final do link.
      <?php $email = ($_GET['email']); $headers = "MIME-Version: 1.0\r\n";  $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "X-Mailer: PHP ". phpversion(); $envio = mail( "dominio@meudominio.com.br", "Descadastrar E-mail", "Favor descadastrar-este e-mail da sua lista de e-mail:\r\n <a href=' " . $email . " ' target='_blank'>".$email."</a>", $headers);   if($envio)  echo "Você não receberá mais este tipo de e-mail"; else  echo "A mensagem não pode ser enviada"; ?>  
    • By Douglas Emerson
      Olá pessoal, está é minha primeira postagem aqui no fórum e gostaria da ajuda de vcs com o meu site.
      Estou com problemas no menu do meus site pois é uma pagina e os menus possuem âncoras, aparentemente está tudo ok mas por algum motivo que eu desconheço o menu não funciona no google chrome. Já testei no Mozilla e IE e ambos funcionam normal e também já realizei a verificação no site https://validator.w3.org/ e https://html5.validator.nu/ aparentemente tudo ok tbm.
       
      Abaixo está o trecho do código com as âncoras, link do site http://douglasemersonss.000webhostapp.com/ (ainda está em fase de desenvolvimento)
      Obrigado desde já !
      <div class="collapse navbar-collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="#inicio" class="smoothScroll">Início</a></li> <li><a href="#sobre" class="smoothScroll">Sobre</a></li> <!-- li><a href="#speakers" class="smoothScroll">Speakers</a></li> <li><a href="#program" class="smoothScroll">Programs</a></li> --> <li><a href="#servicos" class="smoothScroll">Serviços</a></li> <li><a href="#contato" class="smoothScroll">Contato</a></li> <li></li> <li><a href="http://asbnetwork2.com.br/central.php" target="_blank">Central do Cliente <i class="fa fa-external-link" aria-hidden="true" style="width:9px"></i></a></li> <!-- li><a href="#sponsors" class="smoothScroll">Sponsors</a></li> <li><a href="#contact" class="smoothScroll">Contato</a></li> --> </ul> </div>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.