antiblock
Elveron
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
.FaBio

Duvida Javascript

5 posts in this topic

Boas, estou com dificuldade em fazer passar um valor de uma variavel do Javascript para um ficheiro PHP, o código é este:

Spoiler

<div style=" overflow: auto">
  <table id="tabela" class="table table-striped table-bordered" cellspacing="0" width="100%">
    <thead>
      <tr>
        <td>Código Utilizador</td>
        <td>Tipo Utilizador</td>
        <td>Nome</td>
        <td>Login</td>
        <td>Password (Encriptada)</td>
        <td>Manutenção</td>
      </tr>
    </thead>
    <?php
      while($row = mysqli_fetch_array($result))
      {
        echo '
        <tr>
        <td>'.$row["cd_uti"].'</td>
        <td>'.$row["tp_uti"].'</td>
        <td>'.$row["Nome"].'</td>
        <td>'.$row["login"].'</td>
        <td>'.$row["PW"].'</td>
        <td>'<button data-id="',$row['cd_uti'],'"type="button" class="btn btn-warning btn-xs editButton" data-toggle="modal" data-target=".bs-example-modal-lg"><i class="fa fa-edit"></i> Editar</button>
        <button type="button" class="btn btn-danger btn-xs" data-toggle="modal" data-target=".bs-example-modal-sm"><i class="fa fa-trash"></i> Apagar</button>
        </td>
        </tr>
        ';
      }
    ?>
  </table>
</div>
<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
        </button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        <div id="edit_result">
          <!-- Div onde sao mostrados os campos a editar -->
        </div>
      </div>
    </div>
  </div>
</div>

 

com o seguinte JS: (o que nao consigo fazer é passar o valor "id" para o ficheiro php.

Spoiler

<script>
  $(document).ready(function() {
    $('.editButton').on('click', function() {
      var id = $(this).attr('data-id');
      alert(id); //apenas para verificar se o valor esta a ser captado corretamente
      // agora como faço para passar o valor do id para o ficheiro?
      $("#edit_result").load('utilizadores/edit_uti.php');
    });
  });
</script>

 

o que o script faz é carregar o ficheiro do formulário onde vai ser possivel editar os dados:

Citar

<?php
  	$c = //aqui esta a duvida de como passo a variavel do utilizador que quero editar
  	$sql="SELECT * FROM Utilizadores WHERE cd_uti ='$c'";
	$res=mysql_query($sql);
	$row=mysql_fetch_array($res, MYSQL_ASSOC);
 ?>
(...)
	<div class="form-group">
      <label class="control-label col-md-4 col-sm-4 col-xs-12">Nome:</label>
      <div class="col-md-4 col-sm-4 col-xs-12">
        <input value="<php echo $row['Nome']?>" required id="nome" name="nome" type="text" class="form-control">
      </div>
    </div>

    <div class="form-group">
      <label class="control-label col-md-4 col-sm-4 col-xs-12">Login:</label>
      <div class="col-md-4 col-sm-4 col-xs-12">
        <input value="<?php echo $row['login']?>" required id="login" name="login" type="text" class="form-control" onblur="return existelog(this);" onkeyup="return existelog(this);">
      </div>
      <div style="text-align:left;" class="control-label" id="msglog"></div>
    </div>

    <div class="form-group">
      <label class="control-label col-md-4 col-sm-4 col-xs-12">Tipo de Utilizador:</label>
      <div class="col-md-4 col-sm-4 col-xs-12">
        <select class="form-control" name='cd_tp_uti' id='cd_tp_uti'>
          <?php
      	    echo "<option value='0' disabled selected>Selecione um tipo</option>";
            $sql2="select * from tipo_utilizadores";
            $res2=mysql_query($sql2);
            while($lin2=mysql_fetch_array($res2,MYSQL_ASSOC))
            {
              echo "<option selected=selected value=",$lin2['cd_tp_uti'],">",$lin2['tp_uti'],"</option>";
            }
          ?>
        </select>
      </div>
    </div>

 

Ou seja, o script vai buscar o código do utilizador que se prente alterar ao "data-id" e preciso de mandar o valor do mesmo para o ficheiro do formulario onde vai carregar os dados já existentes.

Aqui fica um exemplo da tabela/form para editar.

Citar

b083c9b2612644328a360d5e41b81223.png

9b40845f83844a1283cb505a9075ce0b.png

 

 

Share this post


Link to post
Share on other sites
antiblock
Cyphriun

Pelo que entendi é para editar o utilizador. 

Quando carregas em editar aparece a janela de baixo com os campos preenchidos do utilizador, assim é só alterar o que se quiser.

Não precisas de JS para fazer isso, com PHP é mais simples.

Share this post


Link to post
Share on other sites

Eu preciso de JS para carregar os campos do modal, pois eu nao quero que a pagina dê qualquer tipo de refresh, ou seja, a pagina fica sempre a mesma mas com o javascript a executar ficheiros php por tras (o ficheiro de consulta à db para preencher os campos e o ficheiro de update), só preciso de conseguir passar o valor do id para o ficheiro php atravez do JS

Share this post


Link to post
Share on other sites

Uma forma simples é a seguinte:

Metes o valor da variavel PHP que queres num input hidden.

Depois vais buscar o valor do input com JS.

Existe mais formas mas essa é mais simples

Share this post


Link to post
Share on other sites
1 hora atrás, Kajo disse:

Uma forma simples é a seguinte:

Metes o valor da variavel PHP que queres num input hidden.

Depois vais buscar o valor do input com JS.

Existe mais formas mas essa é mais simples

Eu já tinha como ir buscar o valor do ID ao campo data-id  a minha dificuldade era fazer passar esse mesmo valor para o ficheiro php no momento do .load , já consegui fazer passar o valor assim:

$(document).ready(function() {
  $('.editButton').on('click', function() {
    var id = $(this).attr('data-id');
    $("#edit_result").load('utilizadores/edit_uti.php', {'c': id});
  });
});

ou seja, quando o ficheiro edit_uti.php é carregado, recebe o calor do c:

<?php
  $c = $_REQUEST['c']; //Recebe o ID do Utilizador a consultar na base de dados
  session_start();
  $lig=mysql_connect("localhost", "root") or die ("Problema na ligação ao servidor MYSQL");
  mysql_select_db("Junta",$lig);
  $sql="SELECT * FROM Utilizadores WHERE cd_uti ='$c'"; //Consulta os dados do utilizador pretendido
  $res=mysql_query($sql);
  $row=mysql_fetch_array($res, MYSQL_ASSOC);
 ?>

e assim já consigo fazer a consulta à BD do utilizador pretendido, obtento o seguinte output:

Spoiler

62fbd38687ee4b4fa90c5fe127a15114.png

 

Obrigado pelas tentativas de ajuda :)

Edited by เмpคcтz (see edit history)

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
Sign in to follow this