Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos do fórum, tudo bem?
To com uma dúvida que vocês aqui podem me ajudar.
Eu criei um formulário para atualizar os dados de um sistema que fiz, porém este formulário foi feito em um modal em javascript muito simples.
Minha dúvida é o seguinte eu tenho um botão editar e quando eu clico nele eu quero que ele abra o modal referente ao registro que estou solicitando, ou seja como abrir o modal com o parâmetro da ID?
Wesley,
Não estou utilizando framework no caso, e agora não posso mudar esse projeto para um framework somente para fazer um único detalhe.
Rodrigo,
Crie um atributo no botão editar.
Exemplo:
<div class="cadastro">
<p>Mariana, 17 anos.</p>
<button data-id="1">Editar</button>
</div>
<div class="cadastro">
<p>João, 23 anos.</p>
<button data-id="2">Editar</button>
</div>
<div class="cadastro">
<p>José, 10 anos.</p>
<button data-id="3">Editar</button>
</div>
E com o JavaScript:
$('.cadastro button').click(function() {
alert($(this).attr('data-id'));
});
A partir dai pode abrir seu modal, fazer uma consulta com ajax para pegar os dados do banco e inserir em um formulário, use a imaginação.
Ficou claro?Obrigado FaalWl,
Até ai beleza o problema agora eu não sei como carregar os dados.
Pode dar um exemplo com base nesse que você escreveu acima?
Favor postar dúvida na área correta.
Boa tarde Alaerte, acredito que meu problema seja sim com o php.
O que você pode me sugerir referente a isto?
@Rodrigo Vieira E da Silva
Para fazer uma requisição Ajax, com o exemplo que dei:
Esse ajax seria chamado na função de click no botão, que coloquei acima, passando o id.
$.ajax({
/*
Método da requisição, pode ser POST, GET, consulte a documentação em http://api.jquery.com/jquery.ajax/
*/
method : 'POST',
/*
URL indica o caminho que está o arquivo PHP que você vai chamar, enviando a requisição
*/
url : 'localhost/pegarDadosCadastro.php',
/*
Data, no formato de query string . Você pode passar mais parâmetros, como:
data : 'id=' + id + '&nome=' + nome
*/
data : 'id=' + id,
}).done(function(data){
/*
Você pode manipular os dados da maneira que desejar.
*/
console.log(data);
/*
Recuperando o nome do id selecionado:
*/
alert(data.nome);
});
No PHP:
<?php
/*
* Vou usar a superglobal $_POST apenas como exemplo, mas lembrando que não é seguro deste modo. Pesquise sobre seguranças com requisição em PHP.
*/
$id = $_POST['id'];
/*
* Esses dados podem vir de um banco de dados, por exemplo.
*/
$pessoas = [
['id' => '1', 'nome' => 'Mariana', 'idade' => '17'],
['id' => '2', 'nome' => 'João', 'idade' => '23'],
['id' => '3', 'nome' => 'José', 'idade' => '10'],
];
$pessoaSelecionada = null;
foreach($pessoas as $pessoa) {
if($pessoa['id'] == $id) {
$pessoaSelecionada = $pessoa;
}
}
/*
* Retorna os dados em JSON para melhor manipulação em JavaScript.
*/
echo json_encode($pessoaSelecionada);
>
Agora, FaahWl disse:
@Rodrigo Vieira E da Silva
Para fazer uma requisição Ajax, com o exemplo que dei:
Esse ajax seria chamado na função de click no botão, que coloquei acima, passando o id.
$.ajax({
/*
Método da requisição, pode ser POST, GET, consulte a documentação em http://api.jquery.com/jquery.ajax/
*/
method : 'POST',
/*
URL indica o caminho que está o arquivo PHP que você vai chamar, enviando a requisição
*/
url : 'localhost/pegarDadosCadastro.php',
/*
Data, no formato de query string . Você pode passar mais parâmetros, como:
data : 'id=' + id + '&nome=' + nome
*/
data : 'id=' + id,
}).done(function(data){
/*
Você pode manipular os dados da maneira que desejar.
*/
console.log(data);
/*
Recuperando o nome do id selecionado:
*/
alert(data.nome);
});
No PHP:
<?php
/*
* Vou usar a superglobal $_POST apenas como exemplo, mas lembrando que não é seguro deste modo. Pesquise sobre seguranças com requisição em PHP.
*/
$id = $_POST['id'];
/*
* Esses dados podem vir de um banco de dados, por exemplo.
*/
$pessoas = [
['id' => '1', 'nome' => 'Mariana', 'idade' => '17'],
['id' => '2', 'nome' => 'João', 'idade' => '23'],
['id' => '3', 'nome' => 'José', 'idade' => '10'],
];
$pessoaSelecionada = null;
foreach($pessoas as $pessoa) {
if($pessoa['id'] == $id) {
$pessoaSelecionada = $pessoa;
}
}
/*
* Retorna os dados em JSON para melhor manipulação em JavaScript.
*/
echo json_encode($pessoaSelecionada);
Desculpe pela formatação, não saiu da forma que eu digitei.
Existe mais de uma forma de fazer isso, primeiro de tudo, ta usando algum framework de CSS?
Alguns framework já ensina a fazer isso na documentação deles.