Jump to content
rxhxtx

Ajax altera dados na pagina mas PHP nao edita o BD

Recommended Posts

Boa tarde,

nos meus estudos me deparei com mais um obstaculo,

estava fazendo um tutorial sobre atualizacao de BD via ajax...

 

os dados da pagina estao sendo atualizados perfeitamente, porem o PHP nao executa a funcao de colear os dados e atualizar o BD,

<?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'];
	 
	$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';
	}

}
?>

se eu coloco 

if(2+2 ==$){

 

e tiro os POST e coloco os valores ex: $user_fname = "carlinhos";

atualiza, porem se deixo para ele pegar os dados vi post não funciona... so atualiza na pagina, mas o BD fica igual....

 

qual é o erro? pq nao esta recebendo os POST??

 

codigo da pagina é esse:

<?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">×</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>

 

 

aquele include (listaUSUcon.php) é referente ao primeiro codigo que postei la em cima..

 

 

para mim não faz sentido, pois aparentemente nao tem nada errado....

 

alguem sabe onde estou errando???

 

 

 

 

 

 

 

 

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 rogerblower
      o Google me avisou de dois erros no meu site;
       
      Clickable elements too close together
      Text too small to read
       
      Na verificação constatei que o erro é;
       
      Fatal error:  Call to undefined function db_connect() in
       
      O php não me mostra esse erro mesmo habilitando os erros no php ini os arquivos de conexão que estou usando são;
       
      ini.php
      <?php define('DB_HOST', 'localhost'); define('DB_USER', 'user'); define('DB_PASS', 'senha'); define('DB_NAME', 'banco'); ini_set('display_errors', true); error_reporting(E_ALL); require_once 'functions.php'; functions.php
       
      <?php function db_connect() { $pdo = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=utf8', DB_USER, DB_PASS); return $pdo; } function make_hash($str) { return sha1(md5($str)); } function isLoggedIn() { if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in']!== true) { return false; } return true; } O erro esta nesta linha
      <?php $pdo = db_connect(); $sql = $pdo->prepare("SELECT * FROM servicos "); $sql->execute(); while($row=$sql->fetch(PDO::FETCH_ASSOC)){ echo'<a href="servicos.php?id='.$row['id'].'">'.$row['servico'].'</a>'; } Incluo a conexão com banco na header.php e nas demais páginas não aparece o erro
      realmente não sei o que pode estar acontecendo.
      se alguém pode me ajudar?
       
      Obrigado
       
    • By violin101
      Caros amigos, saudações...
       
      Por favor, me perdoa em recorrer ao auxílio dos amigos.
       
      Tenho os seguintes CAMPOS no Mysql:
      ===[ id_movimento
      ===[ dta_movimento
      ===[ num_movimento
      ===[ status_movimento
       
      Minha dúvida é o seguinte:
      ==> como faço para no campo num_movimento após o insert no banco de dados, o sistema possa garvar da seguinte forma:
      ========[ pega o ID do movimento = 1
      ========[ pega uma String como:  E = entrada | S = saída | D = devolução
      ========[ grava no campo num_movimento desta forma: E-00001
       
      Na MODEL capturo o último ID desta forma:
      //Pega o Último ID public function lastID(){ return $this->db->insert_id(); }  
      Na CONTROLLER trago a informação do último ID desta forma:
      $ultimoID = $this->movimentos_model->lastID();  
      Grato a todos.
       
      Cesar
    • By nazesaria
      Ola, gostaria de saber se tem alguma forma de eu baixar essas paginas completa em .php, se eu clico nela vai em uma pagina em branco.
      E acessando direto do site não teria como, gostaria de ser por esse metedo, é possível? Como?
    • By R4gn3ls0n
      Ao hospedar um arquivo no phpMyAdmin apareceu esse erro, como posso resolver?
      Linhas:
      -- version 4.3.8
      -- http://www.phpmyadmin.net
      --
      -- Host: localhost:3306
      -- Tempo de geração: 28/02/2018 às 19:49
      -- Versão do servidor: 5.6.32-78.1
      -- Versão do PHP: 5.6.30
       
      ______________________________
       
      SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
      SET time_zone = "+00:00";
       

    • By helkton
      galera minha duvida é a seguinte....
      faço a seguinte busca e monto um pdf pra um certificado, e neste certificado preciso coletar todas as materias referente ao curso do mesmo
      $sqlConteudoCurso = "SELECT * FROM conteudo_curso where idCursoConteudo = '$idCurso' order by idConteudo ASC; $conectaConteudoCurso = $conecta->query($sqlConteudoCurso); //conteudoCurso $pdf->SetFont('Arial', '', 11); // Tipo de fonte e tamanhos $pdf->SetTextColor(10,15,35); $pdf->SetXY(10,75); //Parte chata onde tem que ficar ajustando a posição X e Y while($resultConteudoCurso = $conectaConteudoCurso->fetch_object()){ $conteudoCurso = $resultConteudoCurso->nomeConteudo; $pdf->MultiCell(75, 5, $conteudoCurso,'0', 'L', 0);// Tamanho width e height e posição } ok esta é a consulta que realizo no banco de dados ele me retorna a materia referente ao curso certinho, digamos que o curso tenha umas 20 matérias, ele vai imprimir certinho conforme as configurações de espaçamentos...
      AGORA O B.O é seguinte quando o curso acontece de ter tipo umas umas 40 MATÉRIAS ele acaba gerando outra página de pdf
      o que eu queria era que não gerasse outra pagina e sim partisse para o lado direito, pois é um certificado
      TIPO ASSIM....
      MATERIA 1 DO CURSO 1 MATERIA 11 DO CURSO 1 MATERIA 2 DO CURSO 1 MATERIA 12 DO CURSO 1 MATERIA 3 DO CURSO 1 MATERIA 13 DO CURSO 1 MATERIA 4 DO CURSO 1 MATERIA 14 DO CURSO 1 MATERIA 5 DO CURSO 1 MATERIA 15 DO CURSO 1 MATERIA 6 DO CURSO 1 MATERIA 16 DO CURSO 1 MATERIA 7 DO CURSO 1 MATERIA 17 DO CURSO 1 MATERIA 8 DO CURSO 1 MATERIA 18 DO CURSO 1 MATERIA 9 DO CURSO 1 MATERIA 19 DO CURSO 1 MATERIA 10 DO CURSO 1 MATERIA 20 DO CURSO 1  
×

Important Information

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