Executar funções de php com ajax

  • Autor Autor TaurusZDK
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
T

TaurusZDK

Gamma
Programador
No recomendado
olá, quero aprender agora algo de ajax já que tenho que montar algo e quero implementar ajax. bom, o que eu quero é fazer algumas funções em php e chamá-las com ajax para uma div, seria algo assim

PHP:
function cargar($id){
 
  $query = $db->query("SELECT usuario, id, email FROM usuarios WHERE id");
  $usuario =  $db->fetch_array($query);
  
  $user = "nombre: ".$usuario['usuario']." email: ".$usuario['email']." id: ". $usuario['id'];

  return $user;
}

uma função que carrega a info de um usuário e com ajax carregar essa função para evitar recarregar a página, como faria isso? tmb quero adicionar outra função para fazer inserções, espero que possam me ajudar 😀.

desde já mil graças
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Seria algo assim:

PHP:
PHP:
function cargar($id){ 
  $query = $db->query("SELECT usuario, id, email FROM usuarios WHERE id"); 
  $usuario =  $db->fetch_array($query); 
  $user = "nombre: ".$usuario['usuario']." email: ".$usuario['email']." id: ". $usuario['id']; 
  return $user; 
}
if(isset($_POST['iduser'])) {
  echo cargar($_POST['iduser']);
}

E o javascript (jquery):
Inserir CODE, HTML ou PHP:
$.ajax({
url: 'ajax.php',
type: 'POST',
data: 'iduser=12345',
success: function(data) {
alert(data);
},
error: function(){
alert('Error!');
}
});

Além de $.ajax() há outros métodos como $.get ou $.post também de JQuery, revise sua documentação:
https://api.jquery.com/jquery.post/
https://api.jquery.com/jquery.get/
https://api.jquery.com/jquery.ajax/

Sem JQuery é mais difícil se você está aprendendo, são necessárias muito mais linhas de código.
 
com ajax não se podem chamar funções de php

o que você tem que fazer são chamadas a arquivos php que executem essas funções

ou seja, além de declarar no seu arquivo.php as funções, você deve instanciá-las
$mifuncion = cargar(2);
echo $mifuncion;

o que você pode fazer em ajax é passar os parâmetros que as funções de php requerem, por exemplo

ajax = "miarchivo.php?valor=2";
e no miarchivo.php ter uma instância com
$mifuncion = cargar($_GET[valor]);
echo $mifuncion;

então o valor que te retorna o que você manda chamar em ajax, você manipula e faz o que lhe convier, colocar em uma div, etc..
 
Olá, estou programando meu site mas não tenho bem claro o que é o AJAX e como usá-lo.. não têm uma boa fonte para me recomendar? desculpem que isso não vá aqui, mas parece que sabem sobre o tema. Venho usando PHP e MYSQL. Obrigado
 
sigo com a dúvida 😛 o que quero evitar é incluir um arquivo completo e mais que tudo usar o ( echo ) e.e


Olá, estou programando meu site mas não tenho bem claro o que é o AJAX e como usá-lo.. não têm uma boa fonte para me recomendar? desculpem que isso não vá aqui, mas parece que sabem sobre o tema. Venho usando PHP e MYSQL. Obrigado

tocará ler isso xD Trabalho com Ajax em PHP utilizando Xajax lá fazem o que eu buscava fazer, usam funções de php e as chamam com ajax
 
Obrigado Tauruz! desculpem o incômodo
 
Seria algo assim:

PHP:
PHP:
function cargar($id){ 
  $query = $db->query("SELECT usuario, id, email FROM usuarios WHERE id"); 
  $usuario =  $db->fetch_array($query); 
  $user = "nombre: ".$usuario['usuario']." email: ".$usuario['email']." id: ". $usuario['id']; 
  return $user; 
}
if(isset($_POST['iduser'])) {
  echo cargar($_POST['iduser']);
}

E o javascript (jquery):
Inserir CODE, HTML ou PHP:
$.ajax({
url: 'ajax.php',
type: 'POST',
data: 'iduser=12345',
success: function(data) {
alert(data);
},
error: function(){
alert('Error!');
}
});

Além de $.ajax() há outros métodos como $.get ou $.post também de JQuery, revise sua documentação:
https://api.jquery.com/jquery.post/
https://api.jquery.com/jquery.get/
https://api.jquery.com/jquery.ajax/

Sem JQuery é mais difícil se você está aprendendo, são necessárias muito mais linhas de código.

By the way, no query você tem:
PHP:
$query = $db->query("SELECT usuario, id, email FROM usuarios WHERE id");
e suponho que você queira algo assim:
PHP:
$query = $db->query("SELECT usuario, id, email FROM usuarios WHERE id = " . $db->real_escape_string($id));
Seja como for, recomendo usar JSON para os dados, assim você os manejará mais facilmente no código Javascript para fazer o que quiser com eles.
PHP: json_encode - Manual com isso, de um array como o de usuário, você obtém o json e depois pode usá-lo diretamente em Javascript como, por exemplo, data.algo.
Sorte 😛8:
 
Voltar
Topo