Ir para conteúdo
Fórum Script Brasil
  • 0

Atualizando dados da pagina ok, mas DB dando pau Ajax-PHP


rxhxtx

Pergunta

Boa tarde amigos, 

Estava tentando fazer uma atualização via Ajax no sistema, atualiza os dados da pagina, porem não atualiza no banco de dados,

muito provavel que o erro esteja em alguma coisa na parte de php, mas eu não estou cnseguindo encontrar solução:

INDEX

 <?php  include 'listaUSUcon.php'; ?>
<head></head>
<body>

<div class="container">   
  <table class="table">
    <thead>
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Email</th>
        <th>Action</th>
      </tr>
    </thead>
    <tbody>
      <?php
          $table  = mysqli_query($connection ,'SELECT * FROM users_full');
          while($row  = mysqli_fetch_array($table)){ ?>
              <tr id="<?php echo $row['user_id']; ?>">
                <td data-target="user_fname"><?php echo $row['user_fname']; ?></td>
                <td data-target="user_lname"><?php echo $row['user_lname']; ?></td>
                <td data-target="user_email"><?php echo $row['user_email']; ?></td>
                <td><a href="#" data-role="update" data-id="<?php echo $row['user_id'] ;?>">Update</a></td>
              </tr>
         <?php }
       ?>
       
    </tbody>
  </table>

  
</div>

    <!-- Modal -->
    <div id="myModal" class="modal fade" role="dialog">
      <div class="modal-dialog">

        <!-- Modal content-->
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
                <input type="text" id="user_id" class="form-control" readonly>
          </div>
          <div class="modal-body">
              <div class="form-group">
                <label>First Name</label>
                <input type="text" id="user_fname" class="form-control">
              </div>
              <div class="form-group">
                <label>Last Name</label>
                <input type="text" id="user_lname" class="form-control">
              </div>

               <div class="form-group">
                <label>Email</label>
                <input type="text" id="user_email" class="form-control">
              </div>
                <input type="hidden" id="user_id" class="form-control">


          </div>
          <div class="modal-footer">
            <a href="#" id="save" class="btn btn-primary pull-right save">Update</a>
            <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
          </div>
        </div>

      </div>
    </div>

</body>

<script>
  $(document).ready(function(){

    //  append values in input fields
      $(document).on('click','a[data-role=update]',function(){
            var user_id  = $(this).data('id');
            var user_fname  = $('#'+user_id).children('td[data-target=user_fname]').text();
            var user_lname  = $('#'+user_id).children('td[data-target=user_lname]').text();
            var user_email  = $('#'+user_id).children('td[data-target=user_email]').text();

            $('#user_fname').val(user_fname);
            $('#user_lname').val(user_lname);
            $('#user_email').val(user_email);
            $('#user_id').val(user_id);
            $('#myModal').modal('toggle');
      });

      // now create event to get data from fields and update in database 

       $('#save').click(function(){
          var user_id  = $('#user_id').val(); 
         var user_fname =  $('#user_fname').val();
          var user_lname =  $('#user_lname').val();
          var user_email =   $('#user_email').val();

          $.ajax({
              url      : 'listaUSUcon.php',
              method   : 'post', 
              data     : {user_fname : user_fname , user_lname: user_lname , user_email : user_email , user_id: user_id},
              success  : function(response){
                            // now update user record in table 
                             $('#'+user_id).children('td[data-target=user_fname]').text(user_fname);
                             $('#'+user_id).children('td[data-target=user_lname]').text(user_lname);
                             $('#'+user_id).children('td[data-target=user_email]').text(user_email);
                             $('#myModal').modal('toggle'); 

                         }
          });
       });
  });
</script>

nesta parte esta pegando os dados do banco de dados e exibindo na pagina,
está puxando os dados corretos para o Modal.
Quando clica em editar, esta editando na página corretamente, mas não atualiza no banco de dados,

se atualizar a pagina voltam os dados originais.

 

listaUSUcon.php

<?php
$connection =	mysqli_connect('localhost' , 'root' ,'' ,'testes');




if(isset($_POST['user_id'])){
	
	$user_fname = $_POST['user_fname'];
	$user_lname = $_POST['user_lname'];
	$user_email = $_POST['user_email'];
	$user_id = $_POST['user_id'];

	//  query to update data 
	 
	$result  = mysqli_query($connection , "UPDATE `users_full` SET `user_fname`=`$user_fname` , `user_lname`=`$user_lname` , `user_email`= `$user_email` WHERE `user_id`=`$user_id`");
	if($result){
		echo 'data updated';
	}

}
?>

fiz uns teste retirando o if POST e alterando os dados para "valor" e dai atualiza,
mas usando esse AJAX não funciona de maneira alguma...

 

 

alguém consegue me dar uma luz?

 

 

Obrigado!!

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

No arquivo listaUSUcon.php você está suando crase em volta das variáveis

UPDATE `users_full` SET `user_fname`=`$user_fname` , `user_lname`=`$user_lname` , `user_email`= `$user_email` WHERE `user_id`=`$user_id`

Use aspas

UPDATE `users_full` SET `user_fname`='$user_fname' , `user_lname`='$user_lname' , `user_email`= '$user_email' WHERE `user_id`='$user_id'
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...